Javaでの配列とリスト間の変換
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ベースのプロジェクトであるため、そのままインポートして実行するのは簡単です。