将`List <employee>`转换为`Map <integer,list <employee>&gt;`的方法

时间:2016-10-25 06:42:35

标签: java guava

如何将List<Employee>转换为Map<Integer,List<Employee>>

根据员工对象中存在的 depId List<Employee>地图键是depId。

java.util。*或Google Guava中是否有任何方法可以通过迭代列表进行转换。

2 个答案:

答案 0 :(得分:10)

使用Java 8+,您可以使用id:

的流和组
List<Employee> list = ...;
Map<Integer,List<Employee>> map = list.stream()
                                      .collect(Collectors.groupingBy(Employee::getDepId));

答案 1 :(得分:2)

如果您使用Guava并希望use proper collection type, here ListMultimap<Integer, Employee>,请使用Multimaps#index()

cleanup*