欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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)