W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
public interface RandomAccess
List 實(shí)現(xiàn)使用的標(biāo)記接口表明它們支持快速(通常是恒定時(shí)間)隨機(jī)訪問。此接口的主要目的是允許通用算法在應(yīng)用于隨機(jī)或順序訪問列表時(shí)改變其行為以提供良好的性能。
用于操作隨機(jī)訪問列表(例如 ArrayList)的最佳算法在應(yīng)用于順序訪問列表(例如 LinkedList)時(shí)會(huì)產(chǎn)生二次行為。鼓勵(lì)通用列表算法在應(yīng)用算法之前檢查給定列表是否是此接口的實(shí)例,如果將其應(yīng)用于順序訪問列表會(huì)提供較差的性能,并在必要時(shí)更改它們的行為以保證可接受的性能。
眾所周知,隨機(jī)訪問和順序訪問之間的區(qū)別通常是模糊的。例如,如果某些 List 實(shí)現(xiàn)變得很大,則提供漸近線性訪問時(shí)間,但在實(shí)踐中訪問時(shí)間是恒定的。這樣的 List 實(shí)現(xiàn)一般應(yīng)該實(shí)現(xiàn)這個(gè)接口。根據(jù)經(jīng)驗(yàn),如果對(duì)于類的典型實(shí)例,如果出現(xiàn)以下循環(huán),則 List 實(shí)現(xiàn)應(yīng)該實(shí)現(xiàn)此接口:
for (int i=0, n=list.size(); i < n; i++)
list.get(i);
運(yùn)行速度比這個(gè)循環(huán)快:
for (Iterator i=list.iterator(); i.hasNext(); )
i.next();
此接口是 Java 集合框架的成員。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: