JavaTM 2
Platform
Std. Ed. v1.4.0

java.util
インタフェース RandomAccess

既知の実装クラスの一覧:
ArrayList, Vector

public interface RandomAccess

マーカーインタフェースは、高速な (一般的には一定時間) ランダムアクセスをサポートすることを示す、 List 実装により使用されます。このインタフェースの主な目的は、汎用アルゴリズムが、ランダムアクセスリストまたはシーケンシャルアクセスリストのどちらかに適用された時に、動作を変更して、優れたパフォーマンスを実現することです。

ランダムアクセスリスト (ArrayList など) を操作するのに最適なアルゴリズムは、シーケンシャルアクセスリスト (LinkedList など) に適用された時に 2 次動作を引き起こすことができます。シーケンシャルアクセスリストに適用された場合、貧弱なパフォーマンスをもたらすアルゴリズムを適用する前に、汎用リストアルゴリズムでは、指定されたリストがこのインタフェースの instance かどうかを調べることを推奨されています。また、許容範囲にあるパフォーマンスの保証が必要な場合に、その動作を変更することも奨励されてます。

ランダムアクセスとシーケンシャルアクセスとの区別が多くの場合曖昧であることが認められています。たとえば、List 実装は、非常に長くても、一定なアクセス時間で動作した場合に、漸近の線形アクセス時間を実現します。こうした List 実装は、一般的にこのインタフェースを実装する必要があります。経験則として、クラスの典型的なインスタンスに関して、以下のようなループの場合、List 実装がこのインタフェースを実装する必要があります。

     for (int i=0, n=list.size(); i < n; i++)
         list.get(i);
以下のようなループより迅速に実行されます。
     for (Iterator i=list.iterator(); i.hasNext(); )
         i.next();



JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.