この記事では、Javaで2つのリストを結合する2つの例を示します。

  1. JDK – List.addAll()

  2. 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;
    }

参考文献

  1. リンク://java/how-to-count-duplicated-items-in-java-list/[How To Count

JavaDoc]