简体   繁体   English

Java 8,列表 <Employee> 映射部门和地址列表

[英]java 8,List<Employee> to map of department and list of addresses

I have a class like classe User{ String department; 我有一个像classe User {字符串部门; String address; 字符串地址; } i have list of user,can i get below output using java 8 stream/map/collect 我有用户列表,我可以使用java 8 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);
}

Use groupingBy collector with mapping collector downstream. groupingBy收集器与下游的mapping收集器一起使用。

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

Map<String, List<String>> userAddressMap = userList.stream()
    .collect(groupingBy(
        User::getDepartment,
        mapping(User::getAddress, toList())
    ));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Java 8过滤器映射 <String,List<Employee> &gt; - Java 8 Filter Map<String,List<Employee>> 如何转换列表<Employee>到地图<Employee, List<String> &gt; 使用 java8? - How do I convert a List<Employee> to Map<Employee, List<String>> using java8? 转换清单的方法 <Employee> 从`到地图 <Integer,List<Employee> &gt;` - Method to convert `List<Employee>` to `Map<Integer,List<Employee>>` 转换 Map <string,list<person> &gt; 至 Map <string,list<employee> &gt;,使用 Java 8 个流。 我这样做了,但是没有 for 循环怎么做</string,list<employee></string,list<person> - Convert Map<String,List<Person>> to Map<String,List<Employee>>, using Java 8 streams. I did this but how do this without for loop java-使用集合对员工姓名列表进行排序 - java - sorting the list of employee names using collections 如何在没有地图的情况下通过搜索获取​​地址列表? - How to get a list of addresses by a search without the map? Java 8 lambda 用于为每个部门选择最高薪员工 - Java 8 lambda for selecting top salary employee for each department 使用 Java 流根据工资检索员工部门和 ID - Retrieving employee department and id based on the salary using Java streams 用于在Java中存储单词和地址的单链接列表 - Singly linked list for storing word and addresses in Java 自动刷新Java中连接的IP地址列表 - Automatically refresh a list of IP Addresses connected in Java
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM