java把一个list中的内容添加到另一个list中

第一个ArrayList :list1的结果集为

[{DepartID=782, num=209}, {DepartID=650, num=4}, {DepartID=52, num=3488}]
list2结果集为
[{dpsNum=60}, {dpsNum=2377}, {dpsNum=2043}]
想把list2添加到list1中
想实现效果为

[{DepartID=782, num=209,dpsNum=60}, {DepartID=650, num=4,dpsNum=2377}, {DepartID=52, num=3488,dpsNum=2043}]
多谢

在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:

    采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:

2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单,具体代码实现如下:

拓展资料:

1.List.add() 和 List.addAll() 的区别:

(1)List.add() 方法,也是往List 中增加list,但是,它增加的是一个List 实例。如果,往容器中增加的那个List 实例从数据库中查到的结果有5条,不过,如果使用了List.add(list1);程序只会输出一条记录。原因就是上面说的。List.add() 加List 实例,它会把这个看一个实例,而不是把那个看成一个容器。

(2) 例如:List.add(list1),List.add(list2);List.add(list3),  这时,List.size 它的大小是3。

(3)List.add() 的含义就是:你往这个List 中添加对象,它就把自己当初一个对象,你往这个List中添加容器,它就把自己当成一个容器。

(4)List.addAll()方法,就是规定了,自己的这个List 就是容器,往里面增加的List 实例,增加到里面后,都会被看成对象。

(5) 这时:List.add(list1),List.add(list2);List.add(list3),  这时,List.size 它的大小就是所有list 实例化后的总数和总的记录数。

2.集合是Java API所提供的一系列类,可以用于动态存放多个对象。集合与数组的不同在于,集合是大小可变的序列,而且元素类型可以不受限定,只要是引用类型。集合中不能放基本数据类型,但可以放基本数据类型的包装类。 集合类全部支持泛型,是一种数据安全的用法。java列表是集合的一种,并且列表中的元素是有序的,且允许重复。java列表又称为java list。

参考资料:Java List_百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-07-19

刚好在改代码。如果list是按bean对象存,则对象要改变:之前List对象存2个属性:DepartID,num,添加后的对象有3个属性:DepartID,num,dpsNum,所以要定义新的List对象来存两个List的结果。(见下面代码,已调通,1个main类,3个对象类)

如果list是按string存而非bean对象,则for循环遍历list1后,将list2字符串拼接到list1末尾,再覆盖进list1对应结果中就行,list1.set(index,list1.get(index)+list2.get(index)),类似这句,没调试过。

1、Main3.java。初始化list1、list2数值后,将两者对应结果存进list1new中。

import java.util.ArrayList;
import java.util.List;
public class Main3 {
private static List<list1bean>list1 = new ArrayList<list1bean>();
private static List<list2bean>list2 = new ArrayList<list2bean>();
private static List<list1beannew> list1new = new ArrayList<list1beannew>();

public static void main(String args[]){
//初始化数据
list1bean list1BeanA = new list1bean(782,209);
list1bean list1BeanB = new list1bean(650,4);
list1bean list1BeanC = new list1bean(52,3488);
list2bean list2BeanA = new list2bean(60);
list2bean list2BeanB = new list2bean(2377);
list2bean list2BeanC = new list2bean(2043);
//存入list
list1.add(list1BeanA);
list1.add(list1BeanB);
list1.add(list1BeanC);
list2.add(list2BeanA);
list2.add(list2BeanB);
list2.add(list2BeanC);
//打印现状
for(int i=0;i<list1.size();i++) System.out.println(list1.get(i).DepartID+" "+list1.get(i).num);
for(int i=0;i<list1.size();i++) System.out.println(list2.get(i).dpbNum);
//list合并存储
for(int i=0;i<list1.size();i++){
list1beannew tempbean = new list1beannew();
tempbean.DepartID=list1.get(i).DepartID;
tempbean.num=list1.get(i).num;
tempbean.dpbNum=list2.get(i).dpbNum;
list1new.add(tempbean);
}
System.out.println("print result:");
//打印合并后的List
for(int i=0;i<list1.size();i++) System.out.println(list1new.get(i).DepartID+" "+list1new.get(i).num+" "+list1new.get(i).dpbNum);
}
}

2、list1bean.java。包括DepartID、num两个属性,及构造方法初始化

public class list1bean {
public list1bean(int a, int b){
DepartID=a;
num=b;
}
public int  DepartID;
public int num;
}

3、list2bean.java。包括dpbNum一个属性,及构造方法初始化

public class list2bean {
public list2bean(int a){
dpbNum=a;
}
public int  dpbNum;
}

4、list1beannew.java。包括DepartID、num、dpbNum三个属性,存合并结果

public class list1beannew {
public int DepartID;
public int num;
public int dpbNum;
}

执行结果:

第2个回答  2019-07-19

如果list是按bean对象存,则对象要改变:之前List对象存2个属性:DepartID,num,添加后的对象有3个属性:DepartID,num,dpsNum,所以要定义新的List对象来存两个List的结果。(见下面代码,已调通,1个main类,3个对象类)

如果list是按string存而非bean对象,则for循环遍历list1后,将list2字符串拼接到list1末尾,再覆盖进list1对应结果中就行,list1.set(index,list1.get(index)+list2.get(index)),类似这句,没调试过。

1、Main3.java。初始化list1、list2数值后,将两者对应结果存进list1new中。

import java.util.ArrayList;
 import java.util.List;
 public class Main3 {
    private static List<list1bean>list1 = new ArrayList<list1bean>();
    private static List<list2bean>list2 = new ArrayList<list2bean>();
    private static List<list1beannew> list1new = new ArrayList<list1beannew>();
 
    public static void main(String args[]){
        //
初始化数据
        list1bean list1BeanA = new list1bean(782,209);
        list1bean list1BeanB = new list1bean(650,4);
        list1bean list1BeanC = new list1bean(52,3488);
        list2bean list2BeanA = new list2bean(60);
        list2bean list2BeanB = new list2bean(2377);
        list2bean list2BeanC = new list2bean(2043);
        //存入list
        list1.add(list1BeanA);
        list1.add(list1BeanB);
        list1.add(list1BeanC);
        list2.add(list2BeanA);
        list2.add(list2BeanB);
        list2.add(list2BeanC);
        //打印现状
        for(int i=0;i<list1.size();i++) System.out.println(list1.get(i).DepartID+" "+list1.get(i).num);
        for(int i=0;i<list1.size();i++) System.out.println(list2.get(i).dpbNum);
        //list合并存储
        for(int i=0;i<list1.size();i++){
            list1beannew tempbean = new list1beannew();
            tempbean.DepartID=list1.get(i).DepartID;
            tempbean.num=list1.get(i).num;
            tempbean.dpbNum=list2.get(i).dpbNum;
            list1new.add(tempbean);
        }
        System.out.println("print result:");
        //打印合并后的List
        for(int i=0;i<list1.size();i++) System.out.println(list1new.get(i).DepartID+" "+list1new.get(i).num+" "+list1new.get(i).dpbNum);
    }
 }

2、list1bean.java。包括DepartID、num两个属性,及构造方法初始化

public class list1bean {
    public list1bean(int a, int b){
        DepartID=a;
        num=b;
    }
    public int  DepartID;
    public int num;
 }

3、list2bean.java。包括dpbNum一个属性,及构造方法初始化

public class list2bean {
    public list2bean(int a){
        dpbNum=a;
    }
    public int  dpbNum;
 }

4、list1beannew.java。包括DepartID、num、dpbNum三个属性,存合并结果

public class list1beannew {
    public int DepartID;
    public int num;
    public int dpbNum;
 }

执行结果:

 

第3个回答  2019-12-23

在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:

    采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:

2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,也就是当前List会增加的元素个数等于传入的List的大小。该方法较为简单,具体代码实现如下:

第4个回答  2012-12-14
list.addAll(otherList);直接把要复制的list添加到目的list中就可以了。 0相关内容 00-- java中如何将一类中的list里面的值传递给另一个类中薛迪晴z本回答被网友采纳

java把一个list中的内容添加到另一个list中
在JAVA中,想要把一个list中的内容添加至另一个list中,有两种方法:采用循环的方法。通过循环第一个ArrayList,然后通过每循环一次的方式,将值赋值给另一个ArrayList。具体代码实现如下:2.采用ArrayList自带的addAll()方法。addAll()方法是通过传入整一个List,将此List中的所有元素加入到新的List中,...

java怎样合并两个list?
1. 使用addAll方法 最直接的合并方式是使用`addAll`方法。这个方法可以将一个列表的所有元素添加到另一个列表中。java List list1 = new ArrayList>;List list2 = new ArrayList>;list1.addAll; \/\/ 将list2的元素添加到list1中 2. 使用stream流操作 Java 8引入了Stream API,可以使用它来轻松...

怎么把一个列表里面的东西添加到其他列表里面呢?
1、使用 add() 方法:List<String> list = new ArrayList<>();list.add("apple");list.add("banana");list.add("cherry");2、使用 addAll() 方法:List<String> list1 = new ArrayList<>();list1.add("apple");list1.add("banana");List<String> list2 = new ArrayList<>();list...

java中怎么将一个arrayList添加到另一个ArrayList中?
1、方法如下:List<String> list1=new ArrayList<String>();list1.add("xxx");List<String> list2=new ArrayList<String>();list1.addAll(list2);2、Java由四方面组成:●Java编程语言,即语法。●Java文件格式,即各种文件夹、文件的后缀。●Java虚拟机(JVM),即处理*.class文件的解释器。●J...

java 如何指定原List其中一部分进行复制到新的list
add("2"); list1.add("3"); list2.add("a"); \/\/赋值list1前两个到list2中 System.out.println(list2); list2.addAll(list1.subList(0, 2));\/\/可以先按下标截取,再添加 System.out.println(list2); }\/\/运行结果如下:[a][a, 1, 2]望采纳 ...

JAVA一个泛型数组List<?> 怎么复制某几行到另外一个List<?>?
比如你想写的大约是这样的class gen{pulbic <? extends Number>void listMove(List <?>list1 , List<?> list2,Int i){list2.add(list1.get(i));}}但是请注意这里?号代表的是任意一个Number的子类,这意味着你如果传入像list1 是List<Long>而list2是List<Double>这样的同级泛型参数,就像...

java中 怎么将一个arraylist 中的内容 装入 另一个arraylist中 用什么...
List lst = new ArrayList();List lst2 = new ArrayList();lst2.addAll(lst);

Java。如何将一个LinkedList里的元素全部复制到另一LinkedList容器里...
然后new一个新的LinkedList实例,遍历原始LinkedList中的每个元素,调用这个元素的Clone(),将得到的新元素添加到新的LinkedList中。大概的代码意思如下 ElementClass是LinkedList中存储的元素的类 public class ElementClass{ private String attributeOne;...public void setAttributeOne(String attValue){ this...

Java求助:将一个list中的不同元素,不重复地放进另一个list中
import java.util.List;import java.util.Map;public class TestList { public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>();list.add(1);list.add(1);list.add(1);list.add(2);list.add(2);list.add(3);Map<Integer, Integer> map = new Hash...

java 中怎么将一个arrayList 添加到另一个ArrayList 中
List<String> list1=new ArrayList<String>();list1.add("xxx");List<String> list2=new ArrayList<String>();list1.addAll(list2);

相似回答