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]