日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

遍历 List 之效率

發(fā)布時(shí)間:2025/1/21 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 遍历 List 之效率 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

1. 常用遍歷 List 之方法

?

遍歷 List 方法有三:

a) for (Iterator iterator = ls.iterator(); iterator.hasNext();)

b)?for (int i = 0; i < ls.size(); i++)

c)?for (Object object : ls) (java5+)

常用 List 實(shí)現(xiàn)有二:

a)?java.util.ArrayList

b)?java.util.LinkedList

?

效率如何?

?

2. 遍歷方法之小誤差驗(yàn)證

?

輸出

class java.util.ArrayList
iterator-nanotime :7199195
arraylike-nanotime:1920143
foreach-nanotime :3775320
class java.util.LinkedList
iterator-nanotime :5430188
arraylike-nanotime:9148595046
foreach-nanotime :1677620 ?

方法

?

private static void nanoLoop(List ls){System.out.println(ls.getClass());{ // iteratorlong b = System.nanoTime();for (Iterator iterator = ls.iterator(); iterator.hasNext();) {Object object = (Object) iterator.next();}System.out.println("iterator-nanotime :"+(System.nanoTime()-b));}{ // array-likelong b = System.nanoTime();for (int i = 0; i < ls.size(); i++) {Object object = (Object) ls.get(i);}System.out.println("arraylike-nanotime:"+(System.nanoTime()-b));}{ // foreachlong b = System.nanoTime();for (Object object : ls) {Object s = (Object) object;}System.out.println("foreach-nanotime :"+(System.nanoTime()-b));} }private static List initList(List ls,int count){for (int i = 0; i < count; i++) {ls.add("aaaa");}return ls; }public static void main(String[] args) {nanoLoop(initList(new ArrayList(),10*10000));nanoLoop(initList(new LinkedList(),10*10000)); } ?

?

3. 魯莽結(jié)論

?

?*?黑盒情況下:foreach >?iterator > arraylike

?*?ArrayList :arraylike>foreach >iterator

?*?LinkedList:foreach >iterator >>>arraylike

?


4. 刨根問底

?

read the fk source code -_-

?

?



已有 0 人發(fā)表留言,猛擊->>這里<<-參與討論


JavaEye推薦
  • —軟件人才免語(yǔ)言低擔(dān)保 赴美帶薪讀研!—



轉(zhuǎn)載于:https://my.oschina.net/trydofor/blog/9974

總結(jié)

以上是生活随笔為你收集整理的遍历 List 之效率的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。