org.apache.struts.util
クラス FastArrayList

java.lang.Object
  拡張java.util.AbstractCollection
      拡張java.util.AbstractList
          拡張java.util.ArrayList
              拡張org.apache.struts.util.FastArrayList
すべての実装インタフェース:
java.lang.Cloneable, java.util.Collection, java.util.List, java.util.RandomAccess, java.io.Serializable

推奨されていません。 Struts 1.0 の最終版では、Jakarta Commons Collections パッケージ内の同等のクラスによって置き換えられます。

public class FastArrayList
extends java.util.ArrayList

java.util.ArrayList のカスタム実装で、構造の変更ではなく読取り専用のメソッド呼び出しが大多数を占めるようなマルチスレッド環境での操作を想定してデザインされています。 "fast"モードで操作した場合、読取りは非同期で行われ、書き込みは以下のような振る舞いをします:

最初に生成された時点では、このクラスのオブジェクトにはデフォルトで"slow"モードが設定されており、 あらゆるアクセスは同期され、クローニングは行われません。 この状態はコレクションの初期化を行うのに適しており、初期化終了後 (setFast(true)を呼び出すことにより)"fast"モードに切り替えられます。

: もし、シングルスレッドでのみArrayListを生成したりアクセスするのなら、 最大限のパフォーマンスを得るために、java.util.ArrayListを(同期化せずに)直接利用すべきでしょう。

バージョン:
$Revision: 1.2 $ $Date: 2003/03/22 07:55:10 $
作成者:
Craig R. McClanahan
関連項目:
直列化された形式
翻訳者:
阿島 哲夫 [日本語訳のコメントは、report@jajakarta.orgに送ってください。]

入れ子クラスの概要
 
クラス java.util.AbstractList から継承した入れ子クラス
 
フィールドの概要
protected  boolean fast
          推奨されていません。 "高速" モードで動作しているか。
protected  java.util.ArrayList list
          推奨されていません。 操作対象となるリスト。
 
クラス java.util.ArrayList から継承したフィールド
 
クラス java.util.AbstractList から継承したフィールド
modCount
 
コンストラクタの概要
FastArrayList()
          推奨されていません。 空のリストを作成します。
FastArrayList(java.util.Collection collection)
          推奨されていません。 指定されたコレクションの要素を含むリストを作成します。
FastArrayList(int capacity)
          推奨されていません。 容量を指定して空のリストを作成します。
 
メソッドの概要
 void add(int index, java.lang.Object element)
          推奨されていません。 リストの指定された位置に、指定された要素を挿入します。
 boolean add(java.lang.Object element)
          推奨されていません。 リストの最後に、指定された要素を追加します。
 boolean addAll(java.util.Collection collection)
          推奨されていません。 リストの末尾に、指定されたコレクションのすべての要素を追加します。
 boolean addAll(int index, java.util.Collection collection)
          推奨されていません。 リスト内の指定された位置に、指定されたコレクションのすべての要素を挿入します。
 void clear()
          推奨されていません。 リストからすべての要素を削除します。
 java.lang.Object clone()
          推奨されていません。 FastArrayList のインスタンスのシャローコピーを返します。
 boolean contains(java.lang.Object element)
          推奨されていません。 リストに指定の要素がある場合に true を返します。
 boolean containsAll(java.util.Collection collection)
          推奨されていません。 リストに指定のコレクションのすべての要素がある場合に true を返します。
 void ensureCapacity(int capacity)
          推奨されていません。 必要に応じて、このArrayListのインスタンスのサイズを拡大し、 少なくとも最小サイズ引数で指定された数の要素を格納できるようにします。
 boolean equals(java.lang.Object o)
          推奨されていません。 指定されたオブジェクトがリストと等しいかどうかを比較します。
 java.lang.Object get(int index)
          推奨されていません。 リスト内の指定された位置にある要素を返します。
 boolean getFast()
          推奨されていません。  
 int hashCode()
          推奨されていません。 リストのハッシュコード値を返します。
 int indexOf(java.lang.Object element)
          推奨されていません。 equals()メソッドを使って等しいかどうかを判定しながら、 指定された引数と同じ内容の要素を先頭から検索します。
 boolean isEmpty()
          推奨されていません。 リストに要素がないかどうかを判定します。
 java.util.Iterator iterator()
          推奨されていません。 このリスト内の要素を適切な順序で繰り返し処理する反復子を返します。
 int lastIndexOf(java.lang.Object element)
          推奨されていません。 equals()メソッドを使って等しいかどうかを判定しながら、 指定された引数と同じ内容の要素を末尾から検索し、 対応するインデックスを返します。
 java.util.ListIterator listIterator()
          推奨されていません。 リスト内の要素を適切な順序で繰り返し処理する反復子を返します。
 java.util.ListIterator listIterator(int index)
          推奨されていません。 リスト内の要素を適切な順序で繰り返し処理する、 リスト内の指定された位置から開始する反復子を返します。
 java.lang.Object remove(int index)
          推奨されていません。 リスト内の指定された位置から要素を削除します。
 boolean remove(java.lang.Object element)
          推奨されていません。 リスト内ではじめに見つかった指定された要素を削除します。
 boolean removeAll(java.util.Collection collection)
          推奨されていません。 指定されたコレクションに含まれるすべての要素をこのコレクションから削除します。
 boolean retainAll(java.util.Collection collection)
          推奨されていません。 指定されたコレクションに含まれる要素を除くすべての要素をこのコレクションから削除します。
 java.lang.Object set(int index, java.lang.Object element)
          推奨されていません。 リストの指定された位置にある要素を、指定された要素で置き換えます。
 void setFast(boolean fast)
          推奨されていません。  
 int size()
          推奨されていません。 リスト内にある要素の数を返します。
 java.util.List subList(int fromIndex, int toIndex)
          推奨されていません。 このリストの、fromIndex (これを含む) から toIndex (これを含まない) の範囲の部分のビューを返します。
 java.lang.Object[] toArray()
          推奨されていません。 リスト内のすべての要素が正しい順序で格納されている配列を返します。
 java.lang.Object[] toArray(java.lang.Object[] array)
          推奨されていません。 リスト内のすべての要素が正しい順序で格納されている配列を返します。
 java.lang.String toString()
          推奨されていません。 このオブジェクトの文字列表現を返します。
 void trimToSize()
          推奨されていません。 このArrayListのインスタンスのサイズをリストの現在のサイズに縮小します。
 
クラス java.util.ArrayList から継承したメソッド
removeRange
 
クラス java.lang.Object から継承したメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

list

protected java.util.ArrayList list
推奨されていません。 
操作対象となるリスト。


fast

protected boolean fast
推奨されていません。 
"高速" モードで動作しているか。

コンストラクタの詳細

FastArrayList

public FastArrayList()
推奨されていません。 
空のリストを作成します。


FastArrayList

public FastArrayList(int capacity)
推奨されていません。 
容量を指定して空のリストを作成します。

パラメータ:
capacity - 空リストの初期容量

FastArrayList

public FastArrayList(java.util.Collection collection)
推奨されていません。 
指定されたコレクションの要素を含むリストを作成します。 これらの要素は、コレクションの反復子が返す順序で格納されます。

パラメータ:
collection - 要素がリストの内容を初期化するコレクション
メソッドの詳細

getFast

public boolean getFast()
推奨されていません。 

setFast

public void setFast(boolean fast)
推奨されていません。 

add

public boolean add(java.lang.Object element)
推奨されていません。 
リストの最後に、指定された要素を追加します。

パラメータ:
element - 追加される要素

add

public void add(int index,
                java.lang.Object element)
推奨されていません。 
リストの指定された位置に、指定された要素を挿入します。 そして残った全ての要素を一つ下の位置へ移動します。

パラメータ:
index - 要素を挿入するインデックス
element - 挿入される要素
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

addAll

public boolean addAll(java.util.Collection collection)
推奨されていません。 
リストの末尾に、指定されたコレクションのすべての要素を追加します。 これらの要素は、指定されたコレクションの反復子が返す順序で追加されます。

パラメータ:
collection - 追加されるコレクション

addAll

public boolean addAll(int index,
                      java.util.Collection collection)
推奨されていません。 
リスト内の指定された位置に、指定されたコレクションのすべての要素を挿入します。 そして、必要に応じて以前の要素を一つ下へ移動します。

パラメータ:
index - 挿入されるインデックス
collection - 追加されるコレクション
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

clear

public void clear()
推奨されていません。 
リストからすべての要素を削除します。この呼び出しが戻ると、このリストは空になります。

例外:
java.lang.UnsupportedOperationException - clear() が このリストでサポートされていない場合

clone

public java.lang.Object clone()
推奨されていません。 
FastArrayList のインスタンスのシャローコピーを返します。 要素自体はコピーされません。


contains

public boolean contains(java.lang.Object element)
推奨されていません。 
リストに指定の要素がある場合に true を返します。

パラメータ:
element - リストにあるかどうかを調べる要素

containsAll

public boolean containsAll(java.util.Collection collection)
推奨されていません。 
リストに指定のコレクションのすべての要素がある場合に true を返します。

パラメータ:
collection - 要素を調べられるコレクション

ensureCapacity

public void ensureCapacity(int capacity)
推奨されていません。 
必要に応じて、このArrayListのインスタンスのサイズを拡大し、 少なくとも最小サイズ引数で指定された数の要素を格納できるようにします。

パラメータ:
capacity - 新しい最小容量

equals

public boolean equals(java.lang.Object o)
推奨されていません。 
指定されたオブジェクトがリストと等しいかどうかを比較します。 この実装では、List.equalsメソッドのドキュメントで リストのequals関数を定義するのに使われているコードをそのまま使っています。

パラメータ:
o - このリストと比較するオブジェクト

get

public java.lang.Object get(int index)
推奨されていません。 
リスト内の指定された位置にある要素を返します。

パラメータ:
index - 返される要素のインデックス
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

hashCode

public int hashCode()
推奨されていません。 
リストのハッシュコード値を返します。 この実装では、List.hashCodeメソッドのドキュメントで リストのハッシュ関数を定義するのに使われているコードをそのまま使っています。


indexOf

public int indexOf(java.lang.Object element)
推奨されていません。 
equals()メソッドを使って等しいかどうかを判定しながら、 指定された引数と同じ内容の要素を先頭から検索します。 そして、対応するインデックスを返します。オブジェクトが 見つからない場合は、-1を返します。

パラメータ:
element - 検索する要素

isEmpty

public boolean isEmpty()
推奨されていません。 
リストに要素がないかどうかを判定します。


iterator

public java.util.Iterator iterator()
推奨されていません。 
このリスト内の要素を適切な順序で繰り返し処理する反復子を返します。

実装情報 - このリストが高速モードで動作 している場合、反復子を返します。そして、リストの構造が修正されます。 そのとき、同時修正による失敗はありません。Iteratorはリストの以前の (Iteratorが作成された時の)内容で継続します。


lastIndexOf

public int lastIndexOf(java.lang.Object element)
推奨されていません。 
equals()メソッドを使って等しいかどうかを判定しながら、 指定された引数と同じ内容の要素を末尾から検索し、 対応するインデックスを返します。 オブジェクトが見つからない場合は、-1を返します。

パラメータ:
element - 検索する要素

listIterator

public java.util.ListIterator listIterator()
推奨されていません。 
リスト内の要素を適切な順序で繰り返し処理する反復子を返します。 iterator()の実装情報を参照してください。


listIterator

public java.util.ListIterator listIterator(int index)
推奨されていません。 
リスト内の要素を適切な順序で繰り返し処理する、 リスト内の指定された位置から開始する反復子を返します。 iterator()の実装情報を参照してください。

パラメータ:
index - 返される反復子の開始位置
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

remove

public java.lang.Object remove(int index)
推奨されていません。 
リスト内の指定された位置から要素を削除します。 そして後続の要素を一つ上の位置へずらします。

パラメータ:
index - 削除される要素のインデックス
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

remove

public boolean remove(java.lang.Object element)
推奨されていません。 
リスト内ではじめに見つかった指定された要素を削除します。 そして後続の要素を一つ上の位置へずらします。

パラメータ:
element - 削除される要素

removeAll

public boolean removeAll(java.util.Collection collection)
推奨されていません。 
指定されたコレクションに含まれるすべての要素をこのコレクションから削除します。

パラメータ:
collection - 削除される要素を含むコレクション
例外:
java.lang.UnsupportedOperationException - この任意のオペレーションが このリストでサポートされていない場合

retainAll

public boolean retainAll(java.util.Collection collection)
推奨されていません。 
指定されたコレクションに含まれる要素を除くすべての要素をこのコレクションから削除します。

パラメータ:
collection - 保護される要素を含んだコレクション
例外:
java.lang.UnsupportedOperationException - この任意のオペレーションが このリストでサポートされていない場合

set

public java.lang.Object set(int index,
                            java.lang.Object element)
推奨されていません。 
リストの指定された位置にある要素を、指定された要素で置き換えます。 指定された位置に以前あった要素を返します。

実装情報 - このオペレーションは構造的な変更ではないことが 特に明文化されています。したがって、クローニングなしで安全に実行されます。

パラメータ:
index - 置き換える要素のインデックス
element - 格納される新しい要素
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

size

public int size()
推奨されていません。 
リスト内にある要素の数を返します。


subList

public java.util.List subList(int fromIndex,
                              int toIndex)
推奨されていません。 
このリストの、fromIndex (これを含む) から toIndex (これを含まない) の範囲の部分のビューを返します。返されるリストはこのリストに対応しています。 そのため、返されるリスト内での非構造的な変更はこのリストに反映され、 このリスト内での変更は返されるリストに反映されます。返されるリストは、 このリストによってサポートされている、 リストに関連するオプションのオペレーションをすべてサポートします。

パラメータ:
fromIndex - ビューの開始インデックス
toIndex - ビューの終了位置の次のインデックス
例外:
java.lang.IndexOutOfBoundsException - インデックスが範囲外の場合

toArray

public java.lang.Object[] toArray()
推奨されていません。 
リスト内のすべての要素が正しい順序で格納されている配列を返します。


toArray

public java.lang.Object[] toArray(java.lang.Object[] array)
推奨されていません。 
リスト内のすべての要素が正しい順序で格納されている配列を返します。 返される配列の実行時の型は指定された配列の型になります。 指定された配列にリストが収まる場合は、その配列に返されます。それ以外の場合は、 指定された配列の実行時の型とリストのサイズを使って新しい配列が割り当てられます。

パラメータ:
array - 返されるリストの要素の型を定義する配列
例外:
java.lang.ArrayStoreException - arrayの実行時の型が リスト内の各要素の実行時の型のスーパーセットでない場合

toString

public java.lang.String toString()
推奨されていません。 
このオブジェクトの文字列表現を返します。


trimToSize

public void trimToSize()
推奨されていません。 
このArrayListのインスタンスのサイズをリストの現在のサイズに縮小します。 アプリケーションでは、このオペレーションでArrayList のインスタンスの格納サイズを最小にすることができます。



このドキュメントは、Ja-Jakartaにより訳されました。コメントがある場合は、report@jajakarta.orgまでお願いします。
Copyright (C) 2000-2002 - Apache Software Foundation