Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java 8,列表<;员工>;到部门地图和地址列表_Java_Collections_Java 8_Java Stream_Collectors - Fatal编程技术网

java 8,列表<;员工>;到部门地图和地址列表

java 8,列表<;员工>;到部门地图和地址列表,java,collections,java-8,java-stream,collectors,Java,Collections,Java 8,Java Stream,Collectors,我有一门课 类用户{ 弦乐部; 字符串地址; } 我有一个用户列表,我可以使用Java8 stream/map/collect获得下面的输出吗 List<User> userList=getUserList(); Map<String,List<String>> userAddressMap=new HashMap<String,List<String>>(); for(User user : userList){ List

我有一门课 类用户{ 弦乐部; 字符串地址; } 我有一个用户列表,我可以使用Java8 stream/map/collect获得下面的输出吗

List<User> userList=getUserList();

Map<String,List<String>> userAddressMap=new HashMap<String,List<String>>();

for(User user : userList){

   List<String> addressList=userAddressMap.get(user.getDepartment());

   if(addressList==null){
        userAddressMap.put(user.getDepartment(),addressList);
   }

   addressList.add(user.getAddress);
}
List userList=getUserList();
Map userAddressMap=新HashMap();
for(用户:userList){
List addressList=userAddressMap.get(user.getDepartment());
if(addressList==null){
userAddressMap.put(user.getDepartment(),addressList);
}
address.add(user.getAddress);
}

使用带有
映射的
收集器下游的
groupingBy
收集器

import static java.util.stream.Collectors.*;

Map<String, List<String>> userAddressMap = userList.stream()
    .collect(groupingBy(
        User::getDepartment,
        mapping(User::getAddress, toList())
    ));
导入静态java.util.stream.collector.*;
Map userAddressMap=userList.stream()
.收集(分组)(
用户:getDepartment,
映射(用户::getAddress,toList())
));