栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

jdk8 stream list 转 Map

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jdk8 stream list 转 Map

    @Test
    public void test18(){
        List list = Arrays.asList(
                new UserVo(1, "jack"),
                new UserVo(2, "alice"),
                new UserVo(3, "tom")
        );
        //以id为主键转为map
        Map map = list.stream().collect(Collectors.toMap(UserVo::getId, Function.identity()));
        System.out.println(map);
    }
    
    
    @Test
    public void test19(){
        List list = Arrays.asList(
                new UserVo(1, "jack"),
                new UserVo(2, "alice"),
                new UserVo(2, "tom")
        );
        //以id为主键转为map
        //给出key重复时,使用哪个key作为主键,以下代码中的(key1, key2) -> key2)代表key1和key2键重复时返回key2做主键
        //{1=UserVo(id=1, name=jack), 2=UserVo(id=2, name=tom)}
        Map map = list.stream().collect(Collectors.toMap(UserVo::getId, Function.identity(), (key1, key2) -> key2));
        System.out.println(map);
    }

    
    @Test
    public void test20(){
        List list = Arrays.asList(
                new UserVo(1, "jack"),
                new UserVo(2, "alice"),
                new UserVo(2, "tom")
        );
        // 不想返回对象,只返回对象里某个属性时 采用这种方式
        Map map = list.stream().collect(Collectors.toMap(UserVo::getId, UserVo::getName, (key1, key2) -> key2));
        System.out.println(map);
    }

    
    @Test
    public void test21(){
        List list = Arrays.asList(
                new UserVo(1, "jack"),
                new UserVo(2, "alice"),
                new UserVo(2, "tom")
        );
        Map> map = list.stream().collect(Collectors.groupingBy(UserVo::getId));
        System.out.println(map);
    }

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/921672.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号