カテゴリー:
java.util
閲覧数:450 配信日:2013-10-28 15:39
概要
Listインタフェース実装の基本となるクラス
特徴
・ランダムアクセスをサポートしており、要素の検索において高速に動作する
・要素の追加、削除においては、追加、削除された要素以降の要素を再配置する必要があるため低速
背景
・ArrayListクラスはVectorクラスの後継として定義された
・違いは要素の操作を行う際、Vectorクラスが同期化されているのに対して、ArrayListクラスが同期化されていない点
・ArrayListクラスは同期化されていない分、高速に動作する
・同期化された処理をArrayListクラスで行う場合は、ArrayListクラスに同期処理を実装する
公式サイト
・ArrayList (Java Platform SE 7 )
処理の流れ
0.必要パッケージを読み込む
・リストを使うには、ソースファイル最初の方に以下のimport文が必要
import java.util.*;
1.リスト生成
List<データ型> リストの名前 = new ArrayList<データ型>();
・リストの生成では、格納するデータの型とリストの名前を指定・サイズの指定は必須ではない
例 … String型オブジェクトを格納するリストlistを生成
List<String> list = new ArrayList<String>();
例 … クラス型オブジェクト(ユーザー定義クラスRecordItemのオブジェクト)を格納するリストlistを生成
List<RecordItem> itemList;
itemList = new ArrayList<RecordItem>();
※List<データ型>の「List」は参照型(オブジェクト型)変数のインタフェース型(Listインターフェイス)を意味する
2.リストへデータを追加
2-1.リストの名前と追加するデータを指定
2-2.追加のたびに、データがリスト末尾に追加され、リストのサイズが1増える
リストの名前.add( データ );
例 … リストlistへデータを追加する
list.add( "work" );
list.add( "play" );
list.add( "sleep" );
例 … リストitemListへデータを追加する
while( !cursor.isAfterLast()){
itemList.add( getItem( cursor ) );
cursor.moveToNext();
}