1. 概要

このクイックチュートリアルでは、コアJavaライブラリ、GuavaおよびApache Commons Collectionを使用して、配列とリストの間で変換する方法を学習します。

この記事は、ここBaeldungの「Java –BacktoBasic」シリーズの一部です。

2. リストを配列に変換

2.1. プレーンJavaの使用

プレーンJavaを使用して、リストから配列への変換から始めましょう。

@Test
public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() {
    List<Integer> sourceList = Arrays.asList(0, 1, 2, 3, 4, 5);
    Integer[] targetArray = sourceList.toArray(new Integer[0]);
}

このメソッドを使用するための好ましい方法は、 toArray(new T [0]) toArray(new T [size])であることに注意してください。 AlekseyShipilëvが彼のブログ投稿で証明しているように、それはより速く、より安全で、よりクリーンに見えます。

2.2. グアバの使用

次に、同じ変換に GuavaAPIを使用しましょう。

@Test
public void givenUsingGuava_whenListConvertedToArray_thenCorrect() {
    List<Integer> sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5);
    int[] targetArray = Ints.toArray(sourceList);
}

3. 配列をリストに変換します

3.1. プレーンJavaの使用

配列をリストに変換するための単純なJavaソリューションから始めましょう。

@Test
public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    List<Integer> targetList = Arrays.asList(sourceArray);
}

これは固定サイズのリストであり、引き続き配列によってサポートされることに注意してください。 標準のArrayList、が必要な場合は、次のようにインスタンス化できます。

List<Integer> targetList = new ArrayList<Integer>(Arrays.asList(sourceArray));

3.2. グアバの使用

次に、同じ変換に GuavaAPIを使用しましょう。

@Test
public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() {
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
    List<Integer> targetList = Lists.newArrayList(sourceArray);
}

3.3. CommonsCollectionsの使用

最後に、 Apache Commons Collections CollectionUtils.addAll APIを使用して、空のリストに配列の要素を入力します。

@Test 
public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { 
    Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; 
    List<Integer> targetList = new ArrayList<>(6); 
    CollectionUtils.addAll(targetList, sourceArray); 
}

4. 結論

これらすべての例とコードスニペットの実装は、GitHubにあります。これはMavenベースのプロジェクトであるため、そのままインポートして実行するのは簡単です。