public class StreamAPI {
public static void main(String[] args) {
// List<String> list = new ArrayList<>();
// list.add("A");
// list.add("B");
// list.add("C");
// list.add("D");
// System.out.println(list); // [A, B, C, D]
//
// // map() 元素都加上前缀+
// list = list.stream().map((e) -> "+" + e).collect(Collectors.toList());
// System.out.println(list); // [+A, +B, +C, +D]
//
// // filter() 过滤不是B和C的元素
// list = list.stream().filter((e) -> "B".equals(e) || "C".equals(e)).collect(Collectors.toList());
//
// // peek() 多次访问 一次循环 peek内部是一个Consumer接口,无返回值
// list.stream().peek((String e) -> {
// System.out.println("peek1 ( " + e + ")");
// }).peek((String e) -> {
// System.out.println("peek2 ( " + e + ")");
// }).forEach(System.out::println);
List<Integer> list1 = new ArrayList<>();
for (int i = 1; i <= 10; i ++) {
list1.add(new Random().nextInt(50));
}
// System.out.println(list1); // [33, 30, 19, 18, 11, 17, 2, 8, 34, 25]
//
//
// // sorted() 排序
// list1 = list1.stream().sorted((x, y) -> x - y).collect(Collectors.toList());
// System.out.println(list1); // [33, 30, 19, 18, 11, 17, 2, 8, 34, 25]
// max()
Optional optional = list1.stream().max((x, y) -> x - y);
System.out.println(optional.get());
// min()
Optional optional1 = list1.stream().max((x, y) -> y - x);
System.out.println(optional1.get());
// skip()
// limit()
// distinct()
// reduce()
}
}