Collectors.toMap()
Java 8
流的新类java.util.stream.Collectors
实现了java.util.stream.Collector
接口,同时又提供了大量的方法对流 (stream
) 的元素执行map
and
reduce
操作,或者统计操作。
Collectors.toMap()
将流中的所有元素导出到一个哈希表 ( Map
) 中。该方法接受两个参数,第一个参数用于生成键 ( key
) ,第二个参数用于生成值 ( value
)。两个参数都是 Lambda 表达式。
作用:
- 流式操作可进行很多的操作
- 过滤
fliter
- 运算
map
- 去重
distinct
//已经做了 - ……
- 过滤
- 经过N多的运算、筛选、排序、操作……返回我们需要的集合
toMapExample代码
@Test
public void toMapExample() {
List<Double> list = Arrays.asList(1.1, 2.2, 3.3, 4.4, 1.1);
Map<String, Double> filterMap = list.stream().filter(d -> d > 2).collect(Collectors.toMap(k -> String.valueOf(k) + new Random().nextInt(10), v -> v + 500));
System.out.println(list);
System.out.println(filterMap);
}
运行结果:
[1.1, 2.2, 3.3, 4.4, 1.1]
{3.39=503.3, 2.27=502.2, 4.40=504.4}
*/