鴻蒙OS RandomAccess

2022-06-30 15:20 更新

RandomAccess

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 集合框架的成員。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)