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);

参考技术A 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相加得到的队列怎么写?

Java使用不同方式获取两个集合List的交集补集并集(相加)差集(相减)

两个行列式怎么相加?

C# 如何把两个list的元素相加

java 中Integer 类型为啥能相加?

java求两个数组相加,所得值返回另一个数组。