JAVA lambda List 分组
时间: 2023-08-19 22:06:07 浏览: 50
在Java中,可以使用lambda表达式和Stream API来对List进行分组操作。下面是一个示例代码:
```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> list = Arrays.asList("apple", "banana", "cat", "dog", "elephant");
// 使用lambda表达式和Stream API对List进行分组
Map<Character, List<String>> groups = list.stream()
.collect(Collectors.groupingBy(s -> s.charAt(0)));
// 打印分组结果
groups.forEach((key, value) -> System.out.println(key + ": " + value));
}
}
```
运行上述代码,输出结果如下:
```
a: [apple]
b: [banana]
c: [cat]
d: [dog]
e: [elephant]
```
上述代码中,我们使用`stream()`方法将List转换为一个流,然后使用`Collectors.groupingBy()`方法对流中的元素进行分组操作。`groupingBy()`方法接受一个lambda表达式作为参数,该lambda表达式定义了根据什么规则进行分组。在本例中,我们使用`s -> s.charAt(0)`来按照每个字符串的首字母进行分组。
最后,我们使用`forEach()`方法遍历分组结果,并打印出每个分组的键值对。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)