我已經迭代了幾個大小爲20-40項的hashmaps,所以它會更有意義只需在迭代或使用單個get(key)
操作時添加if
條件?哪種方法可以提高性能。當迭代時使用'if'條件找到一個項目vs使用get(key),當你已經需要迭代時
我知道準確的結果我應該依靠分析結果,但由於我不太熟悉分析,需要專家意見。
編輯:
這裏是我的代碼:
for (HColumn col : lobColumns) {// lobcolumns is a list but I also have hashmap already built containing same elements as this list
switch (ByteBufferToInt(col.getName())) {
case .......:
break;
case .......:
break;
case .......:
break;
case .......:
break;
case .......:
break;
}
if (ByteBufferToInt(col.getName()).intValue()==currentUserId()){// here is what I'm using as replacement for hashmap `get()`
.....
}
}
lobcolumns
是一個列表,但我也有HashMap的已建成含有相同的元素,這個名單。這個列表/映射包含幾個常量&幾個變量對象,對於常量我使用switch case進行高效查找&用於查找單個特殊變量項目,我需要決定是使用散列圖get()
還是使用if
而已經迭代。
如果您已經遍歷'map',那麼您沒有獲得'map'的性能優勢。在這種情況下,如果必須的話,我認爲如果使用條件比使用另一個在地圖上查找更「好」。 – JavaKungFu
其實我得到一個哈希映射以及列表傳遞的外部庫和我已經需要遍歷列表 –
我不知道你的意思,因爲你的問題沒有說任何關於列表。 – JavaKungFu