Collectors reducing 使用方法
时间: 2024-04-13 13:25:27 浏览: 93
深入探索 Java 8 Stream API 的 Collectors.maxBy() 方法
Collectors是Java 8引入的一个用于对流进行汇总操作的工具类。它提供了一些静态方法,可以用于在流上执行常见的归约操作。
在使用Collectors时,你可以通过流的collect()方法来将元素收集到一个集合中,或者对元素进行分组、分区、计数等操作。下面是一些常见的Collectors使用方法:
1. 收集到List或Set:
```
List<Integer> numbersList = numbersStream.collect(Collectors.toList());
Set<String> namesSet = namesStream.collect(Collectors.toSet());
```
2. 收集到指定类型的集合:
```
ArrayList<Integer> numbersList = numbersStream.collect(Collectors.toCollection(ArrayList::new));
```
3. 字符串拼接:
```
String namesString = namesStream.collect(Collectors.joining(", "));
```
4. 分组:
```
Map<String, List<Person>> peopleByCity = peopleStream.collect(Collectors.groupingBy(Person::getCity));
```
5. 分区:
```
Map<Boolean, List<Person>> partitionedPeople = peopleStream.collect(Collectors.partitioningBy(Person::isEmployed));
```
6. 计数:
```
long count = stream.collect(Collectors.counting());
```
这只是Collectors的一小部分用法示例,你可以根据具体需求使用不同的Collectors方法来实现不同的操作。希望能对你有所帮助!如果你有更具体的问题,可以提出来让我帮你解答。
阅读全文