Java8中List转Map
程序员文章站
2022-05-05 08:56:57
...
示例:
List<SpecsVo> specsVos = ImmutableList.of(
new SpecsVo("1", "2", 10L),
new SpecsVo("2", "3", 20L),
new SpecsVo("2", "8", 50L),
new SpecsVo("1", "3", 30L),
new SpecsVo("1", "5", 40L)
);
Map<String,Object> map = specsVos.stream().collect(Collectors.toMap(SpecsVo::getLength, SpecsVo::getWidth, (key1, key2) -> key2));
System.out.println(map); // {1=5, 2=8}
// 注:在list转为map时,key的值可能会重复,这时候流的处理会抛出个异常:Java.lang.IllegalStateException:Duplicate key。这时候就要在toMap方法中指定当key冲突时key的选择。(这里是选择第二个key覆盖第一个key)
上一篇: 闲鱼上闲鱼币怎么免费兑换东西?
下一篇: Java8 Stream使用