JavaTM 2 Platform
Standard Ed. 6

java.util
介面 RandomAccess

所有已知實作類別:
ArrayList, AttributeList, CopyOnWriteArrayList, RoleList, RoleUnresolvedList, Stack, Vector

public interface RandomAccess

List 實作所使用的標記介面,用來表明其支持快速(通常是固定時間)隨機存取。此介面的主要目的是允許一般的演算法更改其行為,從而在將其應用到隨機或連續存取列表時能提供良好的性能。

將操作隨機存取列表的最佳演算法(如 ArrayList)應用到連續存取列表(如 LinkedList)時,可產生二次項的行為。如果將某個演算法應用到連續存取列表,那麼在應用可能提供較差性能的演算法前,鼓勵使用一般的列表演算法檢查給定列表是否為此介面的一個 instanceof,如果需要保證可接受的性能,還可以更改其行為。

現在已經認識到,隨機和連續存取之間的區別通常是模糊的。例如,如果列表很大時,某些 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();
 

此介面是 Java Collections Framework 的成員。

從以下版本開始:
1.4


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only