HOME > ArrayListクラス

ArrayListクラス

ArrayListはList型コレクションクラスのひとつで、不定数の要素を配列で扱いたい時に使用します。

List型コレクションクラスにはArrayListとLinkedListの2種類がありますが、読み出し性能重視の場合はArrayListを、挿入や削除の性能を重視したい場合はLinkedListを使用します。


【ArrayListの特徴】
 ・要素の重複:可
 ・nullの要素:可
 ・自動ソート:なし
 ・その他:読み込みが高速だが、挿入や削除は遅い。

サンプルソースコード

ArrayListを生成して画面に出力する
import java.util.ArrayList;
import java.util.Iterator;

public class ArrayListSample {

    public static void main(String args[]) {

        //ArrayListの生成とデータのセット
        ArrayList<String> al = new ArrayList<String>();
        al.add("A");
        al.add("B");
        al.add("C");
        al.add("B");
        al.add(null);
        al.add(2, "X");  //2文字目に"X"を挿入する

        //ArrayListを1件ずつ取り出し画面に表示する
        Iterator<String> it = al.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }

        //※拡張for文にて記述する場合はこちら※
        for (String a : al) {
            System.out.println(a);
        }

    }

}

実行結果
C:\>java ArrayListSample A B X C B null

インデックスを指定しない場合は追加した順、指定した場合は指定した場所に挿入されます。

主要メソッド

【java.util.ArrayListクラスの主要メソッド】
戻値型メソッド説明
booleanadd(Object o)リストの最後に要素oを追加する
voidadd(int i, Object o)リストi番目に要素oを挿入する
voidclear()リストの全ての要素を削除する
Objectclone()ArrayListのコピーを返す
booleancontains(Object o)リスト中に要素oが存在するかどうかを判断する
Eget(int i)リストのi番目の要素を返す
intindexOf(Object o)要素oがリスト内で最初に出現するインデックスを返す
(見つからない場合は-1が返る)
booleanisEmpty()リストが空かどうかを判断する
intlastIndexOf(Object o)要素oがリスト内で最後に出現するインデックスを返す
(見つからない場合は-1が返る)
Eremove(int i)リストのi番目の要素を削除する
(戻り値には削除した要素が返る)
Eset(int i, Object o)リストのi番目の要素を要素oに置き換える
(戻り値には置き換える前の要素が返る)
intsize()リストの要素数を返す
Object[]toArray()リストを配列にして返す
ArrayList主要メソッドサンプル
//リストの3番目の要素を取得する(SELECT)
al.get(2);

//リストの3番目に"hoge"を追加する(INSERT)
al.add(2, "hoge");

//リストの3番目の要素を"XXX"に置き換える(UPDATE)
al.set(2,"XXX");

//リストの3番目の要素を削除する(DELETE)
al.remove(2);

//リストの要素に"hoge"があるかどうかを判定する
al.contains("hoge");

//リストの要素数がゼロであるかどうかを判定する(ゼロならtrue)
al.isEmpty();

//リストの要素数を取得する
al.size();

//リストの要素を全て削除する
al.clear();

//リストを配列として取得する
String[] aa = (String[])al.toArray(new String[0]);