1.ArrayList

Android用語集

カテゴリー: 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();
}