实体类user : String userName , String from
List list=new ArrayList<>();
user vo =new user();
user vo1 =new user();
user vo2 =new user();
user vo3 =new user();
vo.setUserName("张三");
vo.setUserFrom("上海");
vo1.setUserName("李四");
vo1.setUserFrom("上海");
vo2.setUserName("王五");
vo2.setUserFrom("北京");
vo3.setUserName("赵六");
vo3setUserFrom("北京");
list.add(vo);
list.add(vo1);
list.add(vo2);
list.add(vo3);
输出结果: 上海: 张三 ,李四
北京: 王五,赵六
import java.util.*;
public class TestDemo {
public static void main(String[] args) {
List<user> list=new ArrayList<>();
user vo =new user();
user vo1 =new user();
user vo2 =new user();
user vo3 =new user();
vo.setUserName("张三");
vo.setUserFrom("上海");
vo1.setUserName("李四");
vo1.setUserFrom("上海");
vo2.setUserName("王五");
vo2.setUserFrom("北京");
vo3.setUserName("赵六");
vo3.setUserFrom("北京");
list.add(vo);
list.add(vo1);
list.add(vo2);
list.add(vo3);
Map<String,List<String>> map = new HashMap<>();
for(user u : list){
if(map.containsKey(u.getUserFrom())){
map.get(u.getUserFrom()).add(u.getUserName());
} else {
List<String> userNames= new ArrayList<>();
userNames.add(u.getUserName());
map.put(u.getUserFrom(),userNames);
}
}
for(Map.Entry<String,List<String>> entry : map.entrySet()){
System.out.print(entry.getKey() + ":");
StringJoiner joiner = new StringJoiner(",");
for(String userName : entry.getValue()){
joiner.add(userName);
}
System.out.println(joiner.toString());
}
}
}
用个循环放进hashmap里就好了