Lsit<bean>list=new ArrayList<bean>();数据
username flow(流量/kb)
zhanggsan 100
zhanggsan 100
zhanggsan 100
lisi 200要求结果
username flow(流量/kb)
zhangdan 300
lisi 200数据arraylist
username flow(流量/kb)
zhanggsan 100
zhanggsan 100
zhanggsan 100
lisi 200要求结果
username flow(流量/kb)
zhangdan 300
lisi 200数据arraylist
Map<String,Integer> rs = new HashMap<String,Integer>();//key用户名,value流量值
for(Bean b : list) {
Integer i = rs.get(b.username);
if(i == null) {
i = new Integer(0);
}
i += b.flow;//加和
rs.put(b.username,i);
}大概思路,未调试
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;public class Sum
{
public static void main(String[] args)
{
Bean bean1 = new Bean();
Bean bean2 = new Bean();
Bean bean3 = new Bean();
Bean bean4 = new Bean();
bean1.setName("zhangsan");
bean1.setFlow(100);
bean2.setName("zhangsan");
bean2.setFlow(100);
bean3.setName("zhangsan");
bean3.setFlow(100);
bean4.setName("lisi");
bean4.setFlow(200);
List<Bean> list = new ArrayList<Bean>();
list.add(bean1);
list.add(bean2);
list.add(bean3);
list.add(bean4);
Sum s = new Sum();
Map<String, Integer> map;
map = s.sum(list);
Set<String> set = map.keySet();
System.out.println("username flow");
for (Iterator<String> iter = set.iterator(); iter.hasNext();)
{
String key = (String)iter.next();
Integer value = (Integer)map.get(key);
System.out.println(key + " " + value);
}
}
public Map<String, Integer> sum(List<Bean> list)
{
Map<String, Integer> map = new HashMap<String, Integer>();
for (int i=0; i<list.size(); i++)
{
if (null == map.get(list.get(i).getName()))
{
map.put(list.get(i).getName(), list.get(i).getFlow());
}
else
{
Integer in = (Integer)map.get(list.get(i).getName());
in = new Integer(in.intValue() + list.get(i).getFlow());
map.put(list.get(i).getName(), in);
}
}
return map;
}
}class Bean
{
private String name;
private int flow;
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getFlow()
{
return flow;
}
public void setFlow(int flow)
{
this.flow = flow;
}
}
import java.util.ArrayList;
public class CsdnTest { public static void main(String[] args) {
ArrayList<Bean> list = new ArrayList<Bean>();
Bean b1 = new Bean("ZhangSan",100);
Bean b2 = new Bean("ZhangSan",100);
Bean b3 = new Bean("ZhangSan",100);
Bean b4 = new Bean("LiSi",200);
Bean b5 = new Bean("WangWu",300);
list.add(b1);
list.add(b2);
list.add(b3);
list.add(b4);
list.add(b5);
CsdnTest ct = new CsdnTest();
//最终结果集合
ArrayList<Bean> sReturnList = ct.returnList(list);
}
public ArrayList<Bean> returnList(ArrayList<Bean> list)
{
ArrayList<Bean> sReturnList = new ArrayList<Bean>();
for(Bean b : list)
{
if(sReturnList.size()==0){sReturnList.add(b);}
for(int i = 0; i<sReturnList.size();i++)
{
if((b.getName()).equals(sReturnList.get(i).getName()))
{
int ll = sReturnList.get(i).getLiuliang()+b.getLiuliang();
sReturnList.get(i).setLiuliang(ll);
}
else
{
sReturnList.add(b);
break;
}
}
}
return sReturnList;
}}public class Bean { private String name = "";
private int liuliang = 0;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getLiuliang() {
return liuliang;
}
public void setLiuliang(int liuliang) {
this.liuliang = liuliang;
}
public Bean(String name,int ll)
{
this.name = name;
this.liuliang = ll;
}
}sReturnListz是最终的集合
Map<String,Integer> map= new HashMap<String,Integer>();//key用户名,flow流量值
//遍历用户集合
for(User u : list) {
//判断用户是否在map中存在
if(map.containsKey(u.getName())){
int i=map.get(u.getName());
map.put(u.getName(), u.getFlow()+i);
}else{
map.put(u.getName(), u.getFlow());
}
}