List<String> list = Arrays.asList("apple", "banana", "cat", "dog", "ball", "cat", "dog") 如何根据list的内容进行分组 并把每组的key和数量作为参数放在一个新的list当中
时间: 2023-07-07 07:44:17 浏览: 126
关于Java中List对象的分页思想-按10个或者n个数对list进行分组
5星 · 资源好评率100%
您可以使用Java 8中的Stream API和Collectors.groupingBy()方法来对List进行分组并计数。下面是一个示例代码:
```java
List<String> list = Arrays.asList("apple", "banana", "cat", "dog", "ball", "cat", "dog");
Map<String, Long> counts = list.stream()
.collect(Collectors.groupingBy(Function.identity(), Collectors.counting()));
List<Map.Entry<String, Long>> result = new ArrayList<>(counts.entrySet());
System.out.println(result);
```
这段代码将会输出一个包含每个单词及其出现次数的列表。例如,对于给定的list,输出将会是:`[apple=1, ball=1, banana=1, cat=2, dog=2]`。
您可以根据需要修改代码来适应您的应用程序。
阅读全文