Collectors.toMap统计数量
时间: 2023-10-18 12:30:44 浏览: 113
Collectors_v1
您可以使用Collectors.toMap方法来统计元素的数量。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("apple", "banana", "orange", "apple", "banana", "apple");
Map<String, Long> fruitCountMap = fruits.stream()
.collect(Collectors.toMap(
fruit -> fruit, // key映射为水果名称
fruit -> 1L, // value初始为1
Long::sum // 如果key重复,对应的value累加
));
System.out.println(fruitCountMap);
}
}
```
输出结果为:
```
{orange=1, banana=2, apple=3}
```
这里通过流的方式将水果列表转换为Map,其中键(key)是水果的名称,值(value)是每个水果出现的次数。如果出现了重复的水果,使用`Long::sum`函数将对应的值进行累加。
希望对您有所帮助!如果还有其他问题,请随时提问。
阅读全文