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='小黑'},