Использование entrySet для итерации по HashMap
Раньше я использовал keySet для итерации по HashMap, как показано ниже:
Set keySet = map.keySet();
for (Key k : keySet) {
Value v = map.get(k);
print(k, v);
}
➡️ Это выполняет дополнительный поиск для получения значения из Map, что в худшем случае может быть O(n). Если вам нужны и ключ, и значение, то лучше итерировать по entrySet, а не по keySet.
Set> entrySet = map.entrySet();
for (Map.Entry e : entrySet) {
Key k = e.getKey();
Value v = e.getValue();
}
✔️ Это более эффективно, потому что вы получаете значение напрямую из объекта, что всегда занимает O(1).
Post #487
1.89K

- 🔥 6
- 👍 4