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
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
boolean | add(Object o) | リストの最後に要素oを追加する | |
void | add(int i, Object o) | リストi番目に要素oを挿入する | |
void | clear() | リストの全ての要素を削除する | |
Object | clone() | ArrayListのコピーを返す | |
boolean | contains(Object o) | リスト中に要素oが存在するかどうかを判断する | |
E | get(int i) | リストのi番目の要素を返す | |
int | indexOf(Object o) | 要素oがリスト内で最初に出現するインデックスを返す (見つからない場合は-1が返る) | |
boolean | isEmpty() | リストが空かどうかを判断する | |
int | lastIndexOf(Object o) | 要素oがリスト内で最後に出現するインデックスを返す (見つからない場合は-1が返る) | |
E | remove(int i) | リストのi番目の要素を削除する (戻り値には削除した要素が返る) | |
E | set(int i, Object o) | リストのi番目の要素を要素oに置き換える (戻り値には置き換える前の要素が返る) | |
int | size() | リストの要素数を返す | |
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
インデックスを指定しない場合は追加した順、指定した場合は指定した場所に挿入されます。
コメント