java 两个list可以相加吗
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 两个list可以相加吗相关的知识,希望对你有一定的参考价值。
当然可以,但是要注意类型 : List<Cat> , List<Dog>,这2中你要相加嘛? 相同的直接加到新的list中就是了,不同的要使用 List<Object>去添加,需要注意的是 ,需要有一定的排序,取出来的数据可以强制转换: Cat cat=(Cat)List<Object>.get(0); 参考技术A 要看吧,如果list使用泛型定义,结果两个泛型类型不一样,就不行。比如:List<Cat> cats = new ArrayList<Cat>();
List<Book> books = new ArrayList<Book>();
但如果泛型是继承关系是可以的。如:
List<Animal> ans = new ArrayList<Animal>();
List<Cat> cats = new ArrayList<Cat>();
List<Animal> pls = new ArrayList<Animal>();
for(i = 0;i<ans.size();i++)
pls[i] += ans[i];
int j = i;
for(i = 0;i<cats.size();i++;j++)
pls[j]+= cats[i];
直接打的,没验证哈;
望满意~ 参考技术B 可以把这个问题描述得更加具体点。
把2个list合并,还是 把list里面的元素 进行相加? 参考技术C 可以的。。。。 参考技术D 可以addAll将整个list包含进去
java list后台数据合并怎么做?
我取得list的值为上图所示,我要的后台操作是把仓位号相同的number相加,两条数据合并为一条数据。请问怎么做?
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));
本回答被提问者采纳 参考技术B 这个查询的时候可以group by,具体语法你百度一下
如果不想用这个就遍历list吧,将得到的结果放到一个新的list里 参考技术C 第一步:再建一个List<ProductStorehouseInput> list2,循环一次,把相同仓库号的number相加,存一个id,把单个的直接存起来。
第二步:去掉重复的。 参考技术D 这个你取出来的时候用sql语言一个select sum(number) ......group by ("仓库号") 不就行了吗?
以上是关于java 两个list可以相加吗的主要内容,如果未能解决你的问题,请参考以下文章
java中 两个list怎么合并啊?有list,list1,list2。想要list等于list1和list2相加得到的队列怎么写?