前言
如果你看不懂本文的 ->或::符号,请前往Java Lambda表达式和方法引用-CSDN博客
->代表了Lambda表达式,::代表了方法引用,它们都是能够简化遍历的一种方法
filter(Predicate):用于过滤流中的元素
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6);
List<Integer> evenNumbers = numbers.stream()
.filter(num -> num % 2 == 0)
.collect(Collectors.toList());
System.out.println(evenNumbers); // Output: [2, 4, 6]
map(Function):用于对流中的每个元素应用函数
List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
List<Integer> nameLengths = names.stream()
.map(String::length)
.collect(Collectors.toList());
System.out.println(nameLengths); // Output: [5, 3, 7]
forEach(Consumer):对流中的每个元素执行操作
List<String> fruits = Arrays.asList("Apple", "Banana", "Orange");
fruits.stream()
.forEach(System.out::println);
// Output: // Apple // Banana // Orange
collect(Collectors):将流中的元素收集到集合或其他数据结构中
List<String> fruits = Arrays.asList("Apple", "Banana", "Orange");
String result = fruits.stream()
.collect(Collectors.joining(", "));
System.out.println(result); // Output: Apple, Banana, Orange
reduce(BinaryOperator):对流中的元素进行归约操作
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
.reduce(0, Integer::sum);
System.out.println(sum); // Output: 15