Javaでの配列とリスト間の変換
1. 概要
この簡単な記事では、コアJavaライブラリ、GuavaまたはApache Commonsコレクションを使用してconvert between an Array and a Listする方法を説明します。
この記事は、例としてここのthe “Java – Back to Basic” seriesの一部です。
2. Listを配列に変換する
2.1. プレーンJavaの使用
Listから配列using plain javaへの変換から始めましょう。
@Test
public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() {
List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5);
Integer[] targetArray = sourceList.toArray(new Integer[sourceList.size()]);
}
2.2. グアバの使用
同じ変換にthe Guava APIを使用してみましょう。
@Test
public void givenUsingGuava_whenListConvertedToArray_thenCorrect() {
List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5);
int[] targetArray = Ints.toArray(sourceList);
}
3. 配列をListに変換します
3.1. プレーンJavaの使用
配列をListに変換するためのプレーンなJavaソリューションから始めましょう。
@Test
public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
List targetList = Arrays.asList(sourceArray);
}
これは固定サイズのリストであり、依然として配列によって支えられていることに注意してください。 標準のArrayListが必要な場合は、次のようにインスタンス化できます。
List targetList = new ArrayList(Arrays.asList(sourceArray));
3.2. グアバの使用
同じ変換にthe Guava APIを使用してみましょう。
@Test
public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() {
Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 };
List 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 targetList = new ArrayList<>(6);
CollectionUtils.addAll(targetList, sourceArray);
}
4. 結論
これらすべての例とコードスニペットcan be found over on GitHubの実装–これはMavenベースのプロジェクトであるため、そのままインポートして実行するのは簡単です。