怎么用java把多个list合并成一个?

2025-03-21 02:23:51
推荐回答(2个)
回答1:

下面的例子讲了如何合并两个java list, 用简单的方法,而不用自己去造轮子,循环list 去做,用如下建档方法:

import java.util.ArrayList;import java.util.List;public class JoinList {    

public static void main(String[] args) {         

List listA = new ArrayList();        listA.add("A");

List listB = new ArrayList();        listB.add("B");

List listFinal = new ArrayList

();        listFinal.addAll(listA);        listFinal.addAll(listB);

//same result        //List listFinal = new ArrayList

(listA);        //listFinal.addAll(listB);

System.out.println("listA : " + listA);        System.out.println("listB : " + listB);        System.out.println("listFinal : " + listFinal);

}}

你可以看到结果如下:
listA : [A]listB : [B]listFinal : [A, B]

其实最关键的就是调用 list 的 addall 方法,apache 的 listUtil  , 里面有个 union 方法,其实也是用的 addall 方法。

回答2:

示例代码:
public static void main(String[] args){
List list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
List list2 = new ArrayList();
list2.add(1);
list2.add(4);
list2.add(7);
list2.add(10);
List listAll = new ArrayList();
listAll.addAll(list1);
listAll.addAll(list2);
listAll = new ArrayList(new LinkedHashSet<>(listAll));
System.out.println(listAll);
}

输出:

[1, 2, 3, 4, 7, 10]


list指表、一览表、 明细表、目录、名单,在计算机领域指序列。在编程语言中,List是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。

list是类库提供的众多容器(container)之一,在集合的任何位置增加或删除元素都很快,但是不支持随机存取;以模板方式实现(泛型),可以处理任意型别的变量,包括使用者自定义的资料型态。