List 分组转Map

该文章展示了如何在Java中利用StreamAPI的groupingBy方法,将一个包含TestPojo对象的List列表依据对象的id属性进行分组,转换成Map集合。Map的键为id值,值为对应id的所有TestPojo对象的List。示例代码中创建了一个TestPojo对象列表,并进行了分组操作,然后遍历输出了分组结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

list对象根据id分组转成map集合

####创建测试对象

public class TestPojo {

    public int id;
    public String name;
}

####创建list集合并根据id分组转成map

 List<TestPojo> list= Lists.newArrayList(
                new TestPojo(1,"小明"), new TestPojo(2,"小红"),
                new TestPojo(3,"小黑"),new TestPojo(1,"小花"));
        //以id为主键转为map
        Map<Integer, List<TestPojo>> map = list.stream().collect(Collectors.groupingBy(TestPojo::getId));


        map.forEach(new BiConsumer<Integer, List<TestPojo>>() {
            @Override
            public void accept(Integer t, List<TestPojo> u) {
                System.out.print(t+"------>>>");
                u.forEach((pojo) ->{
                    System.out.print(pojo.toString());
                    System.out.print(",");
                });
                System.out.println();
            }
        });

利用stream()流,将id分组,遍历map得到 返回值

1------>>>TestPojo{id=1, name='小明'},TestPojo{id=1, name='小花'},
2------>>>TestPojo{id=2, name='小红'},
3------>>>TestPojo{id=3, name='小黑'},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值