遍歷List和Map的優先選擇

2022-09-24 03:27:10 字數 863 閱讀 2046

list的遍歷

第一種:

public void list1(listlist)

system.out.println(system.currenttimemillis() - l1);

}第二種:

public void list2(listlist)

system.out.println(system.currenttimemillis() - l1);

}推薦使用第二種方式,效能比第一種快。

奧秘在於應用程式自身不維護遍歷集合的"指標",所有的內部狀態(如當前元素位置,是否有下乙個元素)都由iterator來維護,而這個iterator 由集合類通過工廠方法生成,因此,它知道如何遍歷整個集合。  應用程式不直接和集合類打交道,它總是控制iterator,向它傳送"向前","向後","取當前元素"的命令,就可以間接遍歷整個集合。

map的遍歷

第一種:

map map = new hashmap();

iterator iter = map.entryset().iterator();

while (iter.hasnext())

效率高,以後一定要使用此種方式!

第二種:

map map = new hashmap();

iterator iter = map.keyset().iterator();

while (iter.hasnext())

效率低,以後盡量少使用!

對於keyset其實是遍歷了2次,一次是轉為iterator,一次就從hashmap中取出key所對於的value。而entryset只是遍歷了第一次,他把key和value都放到了entry中,所以就快了。

**:

遍歷map和list(自己用)

遍歷map 1.這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。mapmap new hashmap for map.entryentry map.entryset 2.在for each迴圈中遍歷keys或values。mapmap new hashmap 遍歷map中的鍵...

模板中 List 和 Map 的遍歷

最近一段時間在整乙個專案,裡面用到很多知識點,其中有 freemarker,以前沒用過,花一段時間來研究。使用 freemarker 根據模板生成靜態頁面時,經常會在頁面中顯示數值,list或者map形式的。下面的 是我在專案中執行成功的 歡迎高手指點優化。list toptendoclist?if...

對集合List和Map的遍歷

一 對list的遍歷 list lists new arraylist 1通過foreach for object obj list 2把list轉換為陣列,對陣列遍歷 object obj new object list.size list.toarray obj for迴圈遍歷陣列 3itera...