首页 > 其他 > 详细

将 List<UserInfo>中的对象按照UserInfo.name进行分组

时间:2016-12-30 21:47:53      阅读:376      评论:0      收藏:0      [点我收藏+]

package yq;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;

import com.mysql.fabric.xmlrpc.base.Array;
/**
* 现有 List<UserInfo>,按照UserInfo中的姓名放到不同的List中。
* 方案解决如下:
* @author master
*
*/
public class TestList {
public static void main(String[] args) {
List<UserInfo> arrayList = new ArrayList<UserInfo>();
arrayList.add(new UserInfo(1l, "wangliang", "a"));
arrayList.add(new UserInfo(2l, "wangliang", "16"));
arrayList.add(new UserInfo(3l, "wangliang", "12"));
arrayList.add(new UserInfo(4l, "qy", "126"));
arrayList.add(new UserInfo(5l, "yq", "123456"));
arrayList.add(new UserInfo(5l, "yq", "qqq"));
arrayList.add(new UserInfo(6l, "qy", "111"));
/*
* 方式一:
* LinkedHashMap<String, ArrayList<UserInfo>> map=new LinkedHashMap<String,ArrayList<UserInfo>>();
for (UserInfo userInfo : arrayList) {
//if contains key
if(map.containsKey(userInfo.getName())){
map.get(userInfo.getName()).add(userInfo);
}else{
ArrayList<UserInfo> userInfoValue = new ArrayList<UserInfo>();
userInfoValue.add(userInfo);
map.put(userInfo.getName(), userInfoValue);
}
}
System.out.println(map);
*/
/*方式二:*/
LinkedHashMap<String, ArrayList<UserInfo>> map=new LinkedHashMap<String,ArrayList<UserInfo>>();
for (UserInfo uInfo :arrayList) {
if(!map.containsKey(uInfo.getName())){
map.put(uInfo.getName(),new ArrayList());
}
map.get(uInfo.getName()).add(uInfo);
}
System.out.println(map);
}
}

将 List<UserInfo>中的对象按照UserInfo.name进行分组

原文:http://www.cnblogs.com/wlhebut/p/6238319.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!