TGViewer
Java Learning Java Learning @java_per_month · 16.5K subscribers
Post #2718 2.27K
ℹ️ Использование entrySet для итерации по HashMap

Раньше я использовал keySet для итерации по HashMap, как показано ниже:

Set<Key> keySet = map.keySet();

for (Key k : keySet) {
Value v = map.get(k);
print(k, v);
}


➡️ Это выполняет дополнительный поиск для получения значения из Map, что в худшем случае может быть O(n). Если вам нужны и ключ, и значение, то лучше итерировать по entrySet, а не по keySet.

Set<Map.Entry<Key, Value>> entrySet = map.entrySet();

for (Map.Entry<Key, Value> e : entrySet) {
Key k = e.getKey();
Value v = e.getValue();
}


✔️ Это более эффективно, потому что вы получаете значение напрямую из объекта, что всегда занимает O(1).

Java Learning 👩‍💻
  • 👍 20
  • ❤ 1
More from @java_per_month
  1. Oct 6, 2026🤺 Почему ты получаешь отказ после «норм собеса»? Дело не в знаниях — ты просто не знаешь,…
  2. Oct 6, 2026⚙️ Set.retainAll() В Java метод Set.retainAll() позволяет оставить только те элементы множ…
  3. Sep 14, 2026❓ Вопрос на собеседовании Что такое ForkJoinPool в Java, как он работает, и как его исполь…
  4. Sep 4, 2026⚙️ List.subList() В Java метод subList() позволяет создать представление части списка. Это…
  5. Sep 1, 2026🔴 Завтра тестовое собеседование с Java-разработчиком 2 сентября(уже завтра!) в 19:00 по м…
  6. Aug 17, 2026➡️ Quarkus — быстрый и лёгкий фреймворк для Java-приложений Quarkus — оптимизированный фре…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →