stream().map,stream().filter,stream().peek
1、stream().map
:该方法用于将一个流中的元素通过指定的函数进行映射,最终生成一个新的流。例如,如果我们有一个存储了字符串的列表,可以使用 map
方法将列表中的每个字符串都转换为大写字母:
List<String> words = Arrays.asList("apple", "banana", "orange");
List<String> upperCaseWords = words.stream().map(String::toUpperCase).collect(Collectors.toList());
// 结果为 ["APPLE", "BANANA", "ORANGE"]
2、stream().filter
:该方法用于过滤一个流中的元素,只保留符合指定条件的元素,最终生成一个新的流。例如,如果我们有一个存储了一些数字的列表,可以使用 filter
方法保留其中所有的正数:
List<Integer> numbers = Arrays.asList(-1, 2, 3, -4, 5, -6);
List<Integer> positiveNumbers = numbers.stream().filter(n -> n > 0).collect(Collectors.toList());
// 结果为 [2, 3, 5]
3、stream().filter
:该方法用于过滤一个流中的元素,只保留符合指定条件的元素,最终生成一个新的流。例如,如果我们有一个存储了一些数字的列表,可以使用 filter
方法保留其中所有的正数:
List<Integer> numbers = Arrays.asList(-1, 2, 3, -4, 5, -6);
List<Integer> positiveNumbers = numbers.stream().filter(n -> n > 0).collect(Collectors.toList());
// 结果为 [2, 3, 5]