怎么用java把多个list合并成一个?
下面的例子讲了如何合并两个java list, 用简单的方法,而不用自己去造轮子,循环list 去做,用如下建档方法:
import java.util.ArrayList;import java.util.List;public class JoinList {
public static void main(String[] args) {
List<String> listA = new ArrayList<String>(); listA.add("A");
List<String> listB = new ArrayList<String>(); listB.add("B");
List<String> listFinal = new ArrayList<String>
(); listFinal.addAll(listA); listFinal.addAll(listB);
//same result //List<String> listFinal = new ArrayList<String>
(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 方法。
示例代码:
public static void main(String[] args){
List<Integer> list1 = new ArrayList<Integer>();
list1.add(1);
list1.add(2);
list1.add(3);
list1.add(4);
List<Integer> list2 = new ArrayList<Integer>();
list2.add(1);
list2.add(4);
list2.add(7);
list2.add(10);
List<Integer> listAll = new ArrayList<Integer>();
listAll.addAll(list1);
listAll.addAll(list2);
listAll = new ArrayList<Integer>(new LinkedHashSet<>(listAll));
System.out.println(listAll);
}
输出:
[1, 2, 3, 4, 7, 10]
list指表、一览表、 明细表、目录、名单,在计算机领域指序列。在编程语言中,List是类库中的一个类,可以简单视之为双向连结串行,以线性列的方式管理物件集合。
list是类库提供的众多容器(container)之一,在集合的任何位置增加或删除元素都很快,但是不支持随机存取;以模板方式实现(泛型),可以处理任意型别的变量,包括使用者自定义的资料型态。