Javaで2つのリストを結合する方法
この記事では、Javaで2つのリストを結合する2つの例を示します。
-
JDK – List.addAll()
-
Apache Common – ListUtils.union()
1. List.addAll()の例
2つのリストを `List.addAll()`と組み合わせるだけです。
JoinListsExample.java
package com.mkyong.example; import java.util.ArrayList; import java.util.List; public class JoinListsExample { 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を追加する** ListAをListAの最後に追加するには、
listA.addAll(listB);
=== 2. ListUtils.unionの例 Apache共通ライブラリ - `ListUtils.union()` JoinListsExample2.java
package com.mkyong.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<String> listA = new ArrayList<String>(); listA.add("A");
List<String> listB = new ArrayList<String>(); listB.add("B");
List<String> 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; }
参考文献
-
リンク://java/how-to-count-duplicated-items-in-java-list/[How To Count
Java Listで重複した項目]。
http://commons.apache.org/proper/commons-collections/javadocs/api-3.2.1/org/apache/commons/collections/ListUtils.html
[Apache
共通のListUtils JavaDoc]。
http://docs.oracle.com/javase/6/docs/api/java/util/List.html#addAll(java.util.Collection)
[List.addAll()
JavaDoc]