java list后台数据合并怎么做?

我取得list的值为上图所示,我要的后台操作是把仓位号相同的number相加,两条数据合并为一条数据。请问怎么做?List<ProductStorehouseInput>... 我取得list的值为上图所示,我要的后台操作是把仓位号相同的number相加,两条数据合并为一条数据。请问怎么做?
List<ProductStorehouseInput> list1 = dao.listproInputsinfo(idInteger);
展开
 我来答
百度网友52c5081c2
推荐于2016-07-29 · 超过17用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:38.9万
展开全部
List<ProductStorehouseInput> list1 = dao.listproInputsinfo(idInteger);
Iterator it = list1.iterator();
Map map = new HashMap();
while(it.hasNext()){
ProductStorehouseInput psi = (ProductStorehouseInput)it.next();
String key = psi.get仓库号();
if(map.get(key) == null){
map.put(key,psi);
}else {
ProductStorehouseInput psi1 = (ProductStorehouseInput)map.get(key);
psi1.setNumber(psi1.getNumber() + psi.getNumber());
map.put(key,psi1);
}
list1.remove(psi);
}
for(Object obj:map.keySet()){
list1.add(map.get(obj));
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
专治八阿哥的孟老师
2012-11-19 · 爱生活,爱编程,专心于学习技术和撸猫
专治八阿哥的孟老师
采纳数:494 获赞数:3914

向TA提问 私信TA
展开全部
这个查询的时候可以group by,具体语法你百度一下
如果不想用这个就遍历list吧,将得到的结果放到一个新的list里
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听时光清浅
2012-11-19 · 超过19用户采纳过TA的回答
知道答主
回答量:47
采纳率:75%
帮助的人:24.4万
展开全部
第一步:再建一个List<ProductStorehouseInput> list2,循环一次,把相同仓库号的number相加,存一个id,把单个的直接存起来。
第二步:去掉重复的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生物信息研究者
2012-11-19 · TA获得超过524个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:207万
展开全部
这个你取出来的时候用sql语言一个select sum(number) ......group by ("仓库号") 不就行了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式