Java で配列から ArrayList を作成する方法
- Java における配列とは何か
-
Java の
ArrayListとは何か -
Java の配列と
ArrayListの違い -
Array.asList()を用いた配列からArrayListへの変換 -
Collectionions.addAll()を用いた配列からArrayListへの変換 -
add()を用いた配列からArrayListへの変換
このチュートリアルでは、Java で配列から ArrayList を作成する様々な方法を紹介します。Java で配列を ArrayList に変換する方法には、Arrays.asList()、Collections.addAll()、add() の 3つのメソッドがあります。
デモを進める前に、配列と ArrayList とは何か、また、それぞれの違いを理解しておきましょう。
Java における配列とは何か
配列は、似たような型のデータを一定数集めたものです。例えば、50 冊の本のデータを格納したい場合、50 冊の本を格納できる文字列型の配列を作成することができます。作成後、配列の長さは固定されます。配列は Java の基本的な組み込み機能です。
String[] array = new String[50];
Java の ArrayList とは何か
ArrayList は、java.util パッケージの中にある要素の動的なコレクションを格納したリサイズ可能な配列です。
Java の配列と ArrayList の違い
配列と ArrayList の主な違いは、配列の長さを変更したり拡張したりすることができないことです。配列に要素を追加したり削除したりするには、新しいリストを作成しなければならません。一方、ArrayList はリサイズ可能であるため、いつでも要素を追加したり削除したりすることができます。
Array.asList() を用いた配列から ArrayList への変換
Arrays.asList() を用いて配列をこのメソッドに渡し、list オブジェクトを取得し、それを ArrayList クラスのコンストラクタにパラメータとして渡します。Arrays.asList() の構文は以下の通りです。
ArrayList<T> arraylist = new ArrayList<T>(Arrays.asList(arrayname));
以下の例を見てみましょう。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Method1 {
public static void main(String[] args) {
String[] subjects = {"maths", "english", "history", "physics"};
ArrayList<String> sublist = new ArrayList<String>(Arrays.asList(subjects));
sublist.add("geography");
sublist.add("chemistry");
for (String str : sublist) {
System.out.println(str);
}
}
}
出力:
maths
english
history
physics
geography
chemistry
Collectionions.addAll() を用いた配列から ArrayList への変換
このメソッドは Arrays.asList() とほぼ同じように配列の全要素をリストアップします。しかし、Collections.addAll() は Arrays.asList() メソッドに比べて性能的にははるかに高速です。Collections.addAll() の構文は以下の通りです。
Collections.addAll(arraylist, new Element(1), new Element(2), new Element(3), new Element(4));
以下の例を理解しましょう。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Method2 {
public static void main(String[] args) {
String[] names = {"john", "emma", "rick", "tim"};
ArrayList<String> namelist = new ArrayList<String>();
Collections.addAll(namelist, names);
namelist.add("jenny");
namelist.add("rob");
for (String str : namelist) {
System.out.println(str);
}
}
}
出力:
john
emma
rick
tim
jenny
rob
add() を用いた配列から ArrayList への変換
このメソッドを使えば、新しいリストを作成してリストの要素を追加することができます。add() メソッドの構文は以下の通りです。
arraylist.add(element);
以下の例を見てみましょう。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class Method3 {
public static void main(String[] args) {
ArrayList<String> planetlist = new ArrayList<String>();
String[] planets = {"earth", "mars", "venus", "jupiter"};
for (int i = 0; i < planets.length; i++) {
planetlist.add(planets[i]);
}
for (String str : planetlist) {
System.out.println(str);
}
}
}
出力:
earth
mars
venus
jupiter
上記のメソッドに続いて、配列を ArrayList に簡単に変換することができます。
関連記事 - Java Array
- Java で 16 進文字列のバイト配列を変換する方法
- Java で 2つの配列を連結する方法
- Java の配列から重複を削除する
- Java で 2D 配列を埋める
- Java で配列のサブセットを取得する
- Java の自然順序付け