【はじめてのJava】ArrayListとは【配列とAllayList編】
はじめてのJava
このシリーズでは、初めてJavaやプログラミングを勉強する方向けに、Javaによるプログラミングの基礎を説明していきます。
目標レベルは、Javaの資格試験の一つである「Oracle Certified Java Programmer, Silver」(通称Java Silver)に合格できる程度の知識の習得です。
はじめてJavaやプログラムに触れる方にもできるだけわかりやすい解説を心がけていきます。
目次
ArrayListとは
ここまでに扱った配列は生成時に要素数を指定しており、一度生成した配列は後から要素数を増やしたり減らしたりすることが出来ません。
それを変更可能としたものがjava.util.ArrayListクラス(以下ArrayList)です。ArrayListはJava APIで提供されている領域変更が可能な配列のようなもの(リスト)をつくります。上記の特徴からArrayListは可変長配列と呼ばれています。(リストについては別記事で紹介します)
ArrayListによって要素の追加・削除を行えるようになり、配列と同様にインデックスで順序だてて要素を管理することが出来ます。
ArrayListの宣言
ArrayListの宣言は以下の構文で行います。
ArrayList<データ型> 変数名 = new ArrayList<データ型>(初期サイズ);
上記の記述でArrayListを宣言することが出来ます。<データ型>のように、<>の内側にArrayListに格納したいデータのデータ型を指定します。(初期サイズ)は数値で指定することが出来ますが、省略して()と記述することも可能です。
例えば、String型のデータのみ格納できるArrayListを宣言する場合は、
ArrayList<String> strArray = new ArrayList<String>();
のように記述して宣言します。
ArrayListのインポート
ArrayListをコードの中で扱う際には、ArrayListのインポートを行わなければなりません。
インポートはimport文というものを使って記述します。(importについては別記事で詳しく紹介するので、今記事ではArrayListを使うのに必要最低限のみ紹介します。)
import文を使ってArrayListをインポートする場合は、
import java.util.ArrayList;
と記述します。このimport文をコードの先頭に記述することでコード内でArrayListを扱うことが出来るようになります。
このimport文を記述し忘れたままArrayListの宣言などを記述してもコンパイルエラーとなってしまうので注意しましょう。(コードの先頭にpackage文が記述されている場合は、package文の下からimport文を記述し始めてください。)
ArrayListの初期化
上記の記述方法で宣言されたArrayListの中身は空となっています。ArrayListも配列と同じように、初期化を行い初めからデータが格納されたArrayListを生成することが出来ます。
ArrayListの初期化は、
ArrayList<データ型> 変数名 = new ArrayList<データ型>(Arrays.asList(要素0,要素1,要素2,…));
のように記述することで、ArrayListに初期値を持たせて生成することが可能です。
例えば、
ArrayList<String> strArray = new ArrayList<String>(Arrays.asList("Apple","Lemon","Grape"));
と記述することで以下のようなAraryListを生成したことになります。
また、この記述の仕方をする場合はArrayListのimport文の他に、
import java.util.Arrays;
というimport文を記述する必要があります。
ArrayListの初期化までを含むサンプルコードを見てみましょう。
import java.util.ArrayList; import java.util.Arrays; public class Sample { public static void main(String[] args) { ArrayList<String> strArray = new ArrayList<String>(Arrays.asList("Apple","Lemon","Grape")); } }
今回はArrayListの初期化までを行っており、ArrayListを使った具体的な処理は何も実行していません。
ArrayListの使い方については、次回記事で詳しく解説していきます。
ポイント
・ArrayListは生成後に要素数を変更できる可変長配列である。
・ArrayListを使用する場合は、import文を使ってArrayListをインポートする必要がある。