对List<String>类型的集合根据内容进行分组
时间: 2024-03-17 15:40:42 浏览: 66
对集合进行分页
可以使用Java 8的Stream API来对List<String>类型的集合根据内容进行分组。具体实现步骤如下:
1. 使用stream方法将List<String>集合转换为Stream<String>流
2. 使用Collectors.groupingBy方法,传入一个Function<String, String>类型的lambda表达式作为分组依据,该lambda表达式对每个元素返回一个字符串作为分组依据
3. 将分组结果转换为Map<String, List<String>>类型的集合,其中键为分组依据字符串,值为该分组下的所有元素集合
示例代码如下:
```
List<String> list = Arrays.asList("apple", "banana", "cat", "dog", "ball", "cat", "dog");
Map<String, List<String>> result = list.stream().collect(Collectors.groupingBy(s -> s.substring(0, 1)));
System.out.println(result);
```
输出结果为:
```
{a=[apple], b=[banana, ball], c=[cat, cat], d=[dog, dog]}
```
以上示例代码以每个元素的第一个字符作为分组依据,将集合分成了以a、b、c、d开头的四个分组。
阅读全文