java8 Stream---将list集合以type分组,并将value转换为id集合

介绍

使用Collectors.groupingBy()方法,将list集合以type分组,并将value转换为id集合。

例子

Data data1 = new Data();
data.setId(1L);
data.setName("data1");
data.setType(1);

Data data2 = new Data();
data.setId(2L);
data.setName("data1");
data.setType(1);

Data data3 = new Data();
data.setId(3L);
data.setName("data1");
data.setType(2);

Data data4 = new Data();
data.setId(4L);
data.setName("data1");
data.setType(3);

List<Data> list = new ArrayList();
list.add(data1);
list.add(data2);
list.add(data3);
list.add(data4);

Map<Integer, List<Long>> dataMap = list.stream().collect(Collectors.groupingBy(Data::getType, Collectors.mapping(Data::getId, Collectors.toList())));

你可能感兴趣的:(Java,java8)