Stream流常用方法详解
Stream(流)是Java 8中引入的一种新的处理数据集合的方式,它可以提供一个便捷且高效的方式来对集合进行操作和处理。在处理数据时,Stream提供了一组常用的方法,下面就对一些常用方法进行详细介绍。
- filter()方法
filter()方法是Stream中最常用的方法之一,它的作用是筛选符合条件的元素,返回一个新的Stream。
例如,我们有一个整数集合List
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9);
Stream<Integer> stream = list.stream();
stream.filter(x -> x >= 5).forEach(System.out::println);
结果输出:
5
6
7
8
9
- map()方法
map()方法是将一个集合中的元素按照一定的方式转换成另一个集合中的元素,返回一个新的Stream。
例如,我们有一个字符串集合List
List<String> list = Arrays.asList("apple", "banana", "orange");
Stream<String> stream = list.stream();
stream.map(String::toUpperCase).forEach(System.out::println);
结果输出:
APPLE
BANANA
ORANGE
- sorted()方法
sorted()方法是对Stream中的元素进行排序,返回一个新的Stream。
例如,我们有一个整数集合List
List<Integer> list = Arrays.asList(9, 1, 5, 3, 7);
Stream<Integer> stream = list.stream();
stream.sorted().forEach(System.out::println);
结果输出:
1
3
5
7
9
- distinct()方法
distinct()方法是去除Stream中重复的元素,返回一个新的Stream。
例如,我们有一个整数集合List
List<Integer> list = Arrays.asList(1, 2, 3, 2, 1);
Stream<Integer> stream = list.stream();
stream.distinct().forEach(System.out::println);
结果输出:
1
2
3
- limit()方法
limit()方法是对Stream中的元素进行截取,返回一个新的Stream。
例如,我们有一个整数集合List
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = list.stream();
stream.limit(3).forEach(System.out::println);
结果输出:
1
2
3
- skip()方法
skip()方法是对Stream中的元素进行跳过,返回一个新的Stream。
例如,我们有一个整数集合List
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = list.stream();
stream.skip(3).forEach(System.out::println);
结果输出:
4
5
- reduce()方法
reduce()方法是将Stream中的元素进行累加,返回最终的累加结果。
例如,我们有一个整数集合List
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
Stream<Integer> stream = list.stream();
Optional<Integer> result = stream.reduce((x, y) -> x + y);
System.out.println(result.get());
结果输出:
15
- collect()方法
collect()方法是将Stream中的元素收集到一个新的集合中,返回一个新的集合。
例如,我们有一个字符串集合List
List<String> list = Arrays.asList("apple", "banana", "orange", "pear", "watermelon");
Stream<String> stream = list.stream();
List<String> result = stream.filter(s -> s.length() >= 5).collect(Collectors.toList());
System.out.println(result);
结果输出:
[apple, banana, orange, watermelon]
以上是一些Stream常用的方法,它们大大简化了集合的操作和处理,使用起来非常方便。
相关推荐
















