JavaでArrayListを初期化する方法|Arrays.asList()の使い方を解説
Javaでリストを初期化する際には、Arrays.asList()メソッドとArrayListクラスが活用されます。通常のListインターフェースは直接オブジェクトを生成できないため、空のリストを作成するにはArrayListクラスが必要です。さらに、Arrays.asList()メソッドを使えば、初期値を持つArrayListを簡単に初期化できます。
ArrayListとは?Javaにおける基本的な役割
ArrayListの初期化とは、あらかじめ用意した値のセットをリストに代入する処理のことです。JavaでArrayListを扱うには、その初期化方法を理解しておくことが不可欠です。
ここで登場するのが、JavaのArrays.asList()メソッドです。このメソッドを使うことで、ArrayListを効率的に初期化できます。
本記事では、サンプルコードを交えながら、asList()メソッドを使ってJavaでArrayListを初期化する方法を詳しく解説します。読み終える頃には、プロのようにArrayListを初期化できるようになっているでしょう。
JavaのArrayListの基礎知識
JavaのListインターフェースは、データを順序付けて格納するための機能を提供します。しかし、ListはJavaのコレクションインターフェースであるため、インターフェースから直接リストのインスタンスを生成することはできません。Javaのインターフェースはオブジェクトの生成に使用できないからです。
ArrayListは、Listインターフェースを実装するJavaクラスで、サイズ変更可能な可変長リストを作成できます。
Javaの通常の配列は固定長であり、宣言時にサイズを指定する必要があります。一度設定した配列のサイズを後から変更するのは困難です。
この問題を回避する手段の一つが、ArrayListクラスの利用です。ArrayListに格納されたデータは柔軟にサイズを変更できるため、開発者は配列にデータを保存する際によくArrayListを使用します。
コードでArrayListを使用する前に、まずArrayListクラスをインポートする必要があります。以下のコードでインポートできます。
import java.util.ArrayList;
クラスをインポートしたら、コード内でArrayListを作成できるようになります。JavaでArrayListを作成する構文は次のとおりです。
ArrayList<Type> arrayName = new ArrayList<>();
構文の主な要素は以下のとおりです。
- ArrayList:プログラムに対して配列リストを作成することを指示します。
- Type:リストに格納するデータの型を指定します。
- arrayName:作成する配列リストの名前です。
- new ArrayList<>():ArrayListのインスタンスを生成し、arrayName変数に代入することを指示します。
ArrayListを作成したら、値を追加して初期化していきましょう。
JavaでArrayListを初期化する方法
Javaでは、通常の配列であれば宣言と同時に直接初期化できます。つまり、配列を宣言するときに、格納したい値をまとめて代入できるのです。しかし、ArrayListの場合はそうはいきません。
ArrayListに値を追加する一般的な方法は、add()メソッドを使うことです。例えば、次のコードは都市名を格納するArrayListに「London」を追加するプログラムです。
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> cities = new ArrayList<>();
cities.add("London");
System.out.println("Cities: " + cities);
}
}
このコードの出力結果は以下のとおりです。
Cities: [London]
この方法は、少数の値を追加する場合には十分機能します。しかし、既存の配列から20個もの値をArrayListに追加したい場合はどうでしょうか?
そこで活躍するのがArrays.asList()メソッドです。このメソッドを使えば、ArrayListの初期化に関する制約を回避し、デフォルト値のセットを一度に設定できます。
asList()メソッドの構文は以下のとおりです。
Arrays.asList(item1, item2, item3);
asList()メソッドは、ArrayListに追加したい値の数に応じて、任意の数の引数を受け取ることができます。
それでは、asList()メソッドの実際の動作を例で見てみましょう。
過去8週間で最も多くゴールドスターを獲得した生徒の名前を毎週記録するプログラムを作成するとします。add()メソッドを8回呼び出して生徒を1人ずつ追加する代わりに、asList()を使えば8つの値でリストを一括初期化できます。
過去8週間のゴールドスター獲得者リストを初期化するコードは次のようになります。
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
ArrayList<String> students = new ArrayList<>(Arrays.asList("Paul", "David", "Lisa", "Alyssa", "Alex", "Ronald", "Todd", "Hope"));
System.out.println("Students: " + students);
}
}
このコードの出力結果は以下のとおりです。
Students: [Paul, David, Lisa, Alyssa, Alex, Ronald, Todd, Hope]
コードを分解して見てみましょう。まず、文字列値を格納できる「students」というArrayListを宣言します。そして、次のコードでデフォルト値のセットを使ってこのArrayListを初期化しています。
new ArrayList<>(Arrays.asList("Paul", "David", "Lisa", "Alyssa", "Alex", "Ronald", "Todd", "Hope"));
このコードでは、8つの要素を持つ配列を作成し、asList()メソッドでその要素リストをArrayListに変換しています。
この初期化方法は、8回のadd()文を個別に実行して値を追加するよりも、はるかに読みやすくなります。
まとめ
Java開発者は、ArrayListを初期化する際にArrays.asList()メソッドを使用します。asList()を使えば、デフォルト値のリストで配列を簡単に初期化でき、複数のadd()文を繰り返し書くよりも効率的です。
本記事では、例を交えながらJavaでArrayListを初期化する方法を解説しました。これで、あなたもプロフェッショナルのようにJavaでArrayListを初期化できるようになったはずです!
-
ChromeでJavaを有効にする方法|IE Tab・CheerpJ拡張機能の使い方
押さえておきたいポイント新しいバージョンのChromeはJavaに対応していないため、拡張機能(プラグイン)が必要です。IE Tab拡張機能をインストールし、画面の指示に従うことでJavaを有効にできます。CheerpJ Applet Runner拡張機能をインストールすれば、Chrome上で直接Javaアプレットを実行できます。この記事では、ChromeがJavaアプレット埋め込みページのサポートを終了した現在、Chrome バージョン42以降でJavaを有効にする方法を解説します。解決策としては、IE Tab拡張機能またはCheerpJ拡張機能を使用する2つの方法があります。IE Tab拡
-
Windows 10・8・7でJavaをアンインストールする2つの方法【手動/ツール】
近年、Javaを日常的に利用するユーザーは少なくなりました。しかし、PCに残された古いバージョンのJavaは、システムにさまざまなセキュリティリスクをもたらすといわれています。一方で、NVIDIAグラフィックドライバーのインストールなど、一時的にJavaが必要になるケースもあります。 そのような用途が終わった後は、Windows 10からJavaを削除したいと考える方が多いのではないでしょうか。実際、多くのユーザーがWindowsやMacでJava 11やJava 8をアンインストールしたいと報告しています。どのバージョンを削除したい場合でも、以下の方法でJavaを完全かつ恒久的に取り除くこ