[API] java.util.ArrayListクラス

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

ArrayListの特徴

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

【ArrayListの特徴】

  • 要素の重複:可
  • nullの要素:可
  • 自動ソート:なし
  • スレッドセーフ:×
  • その他:読み込みが高速だが、挿入や削除は遅い

ArrayListの継承・実装

継承クラス

java.lang.Object
 ・java.util.AbstractCollection<E>
  ・java.util.AbstractList<E>
   ・java.util.ArrayList<E>

実装インターフェース

java.io.Serializable
java.lang.Cloneable
・java.lang.Iterable<E>
・java.util.Collection<E>
・java.util.List<E>
・java.util.RandomAccess

導入バージョン

・JDK1.0

ArrayListのAPI

【主要メソッド】
戻値型メソッド静的説明
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]);

ArrayListサンプルソース

(ArrayListSample.java)

import java.util.ArrayList;

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件ずつ取り出し画面に表示する
    for (String a : al) {
      System.out.println(a);
    }
  }
}
実行結果
C:\>java ArrayListSample A B X C B null

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

コメント

タイトルとURLをコピーしました