java把一个list里的数据转移到另外一个list

例如:List<A> a = new List<A>();
List<B> b = new List<B>();
A里有两个字段c1和c2,B里有也两个字段c1和c2,
我怎么把List<A>里的字段的值全转到List<B>里去?

java将一个list里的数据转移到另外一个list,可以使用for语句,一次使用add方法,示例如下:

 ArrayList list1=new ArrayList();
 list1.add("1");
 list1.add("2");
 list1.add("3");
ArrayList list2=new ArrayList();
list2.add("4");
for(int i=0;i<list1.size();i++)
{
  list2.add(list1.get(i));//开始复制一个list的内容到另外一个list
}
//这样就可以用list2添加list1的所有元素了!。想把他显示出来可以如下
for(int i=0;i<list2.size();i++)
{
   System.out.println(list2.get(i));
}

运行结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-03
如果你i两个LIST的类型是不同类型(一个A一个B)是不能转懂啊一个list中的。
第2个回答  2018-09-30
JDK8对List的简化操作-Lambda表达式
b=a.stream().map(A ->new B(A.getC1(),A.getC2())).collect(Collectors.toList());
第3个回答  推荐于2017-09-14
b.addAll(a);

或者:
for(int i=0;i<a.size();i++){
b.add(a.get(i));
}追问

这样会报错说类型不符合

追答

for(int i=0;i<a.size();i++){
b.add((B)a.get(i));
}
强制类型转换

本回答被提问者和网友采纳
第4个回答  2012-12-03
beanutils copy追问

这样太复杂了,字段少的话还行

相似回答