|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
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 的成員。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。