java效能優化方案——使用entrySet()

kele2014發表於2017-12-16

7、使用entrySet()
當我們想遍歷一個用鍵值對形式儲存的 Map 時,必須要為下面的程式碼找到一個很好的理由:
for (K key : map.keySet()) {

V value : map.get(key);

}
更不用說下面的寫法:
for (Entry entry : map.entrySet()) {

K key = entry.getKey();
V value = entry.getValue();

}
在我們使用 N.O.P.E. 分支應該慎用map。因為很多看似時間複雜度為 O(1) 的訪問操作其實是由一系列的操作組成的。而且訪問本身也不是免費的。至少,如果不得不使用map的話,那麼要用entrySet() 方法去迭代!這樣的話,我們要訪問的就僅僅是Map.Entry的例項。
小結
在需要迭代鍵值對形式的Map時一定要用 entrySet() 方法。


相關文章