collect方法配合工具类Collectors.toList或者Collectors.toSet或者Collectors.toMap方法,可完成Stream流的数据获取
时间: 2024-09-30 20:07:04 浏览: 40
collect方法是Java Stream API中的重要函数,它允许你在单一流程操作完成后收集数据并转换成特定的形式。当你需要将流中的元素聚集到列表(List)、集合(Set)或映射(Map)中,可以使用 Collectors.toList()、Collectors.toSet() 或 Collectors.toMap() 等工具类。
- Collectors.toList(): 这个工具类用于将流中的所有元素收集到一个List中,元素的顺序通常是按照它们在流中出现的顺序保留的,如果需要有序列表,可以传递一个Comparator作为参数。
- Collectors.toSet(): 该工具会创建一个不可变的Set,自动去除重复元素,适合于不需要顺序并且不允许重复值的情况。
- Collectors.toMap(): 这个工具用于创建一个Map,键和值通常由流中的元素提供。默认情况下,如果键已经存在,旧值会被替换;也可以选择抛出异常(如IllegalStateException)或使用合并策略(如HashMap的putIfAbsent)处理冲突。
使用collect方法的基本语法如下:
```java
List<String> list = streamOfElements.collect(Collectors.toList());
Set<String> set = streamOfElements.collect(Collectors.toSet());
Map<KeyType, ValueType> map = streamOfElements.collect(Collectors.toMap(Function.identity(), Function.identity()));
```
阅读全文