Javaで2つのリストを結合する方法
この記事では、Javaの2つのリストを結合する2つの例を示します。
-
JDK – List.addAll()
-
Apache Common – ListUtils.union()
1. List.addAll() example
2つのリストをList.addAll()と組み合わせるだけです。
JoinListsExample.java
package com.example.example;
import java.util.ArrayList;
import java.util.List;
public class JoinListsExample {
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]
Append Lists
ListBをListAの末尾に追加するには、次を使用します。
listA.addAll(listB);
2. ListUtils.union example
Apache共通ライブラリ–ListUtils.union()。
JoinListsExample2.java
package com.example.example;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.collections.ListUtils;
public class JoinListsExample2 {
public static void main(String[] args) {
List listA = new ArrayList();
listA.add("A");
List listB = new ArrayList();
listB.add("B");
List listFinal = ListUtils.union(listA, listB);
System.out.println("listA : " + listA);
System.out.println("listB : " + listB);
System.out.println("listFinal : " + listFinal);
}
}
出力
listA : [A] listB : [B] listFinal : [A, B]
ソースコードを掘り下げてみると、ListUtils.unionは同じList.addAll()を使用してリストを結合しています。
ListUtils.java
public static List union(final List list1, final List list2) {
final ArrayList result = new ArrayList(list1);
result.addAll(list2);
return result;
}