[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-collections-sdelayte-hashmap-iz-hashset-map-entry":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":17,"progress":18,"seo":19},510,"sdelayte-hashmap-iz-hashset-map-entry",12,"collections","Collections","📚","Сделайте HashMap из HashSet Map.Entry","Перебрать entries и добавить каждую пару в HashMap:\n\n```java\nHashMap\u003CK, V> map = new HashMap\u003C>(set.size());\nfor (Map.Entry\u003CK, V> entry : set) {\n    map.put(entry.getKey(), entry.getValue());\n}\n```\n\nНачиная с Java 8, можно использовать Stream API:\n\n```java\nMap\u003CK, V> map = set.stream()\n    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));\n```\n\nВ обоих случаях, если в HashSet есть entries с одинаковыми ключами, последний entry перезапишет предыдущий. В варианте с Collectors.toMap() при дубликатах ключей будет выброшено `IllegalStateException`, если не указать merge-функцию.\n\n> **На собеседовании:** покажите цикл с put() и вариант через Stream API. Упомяните обработку дубликатов ключей.","","junior",[15,16],"основы","jcf",[],null,{"title":20,"description":21,"ogTitle":22,"ogDescription":23,"keywords":24,"schemaAnswer":33,"featuredSnippetReady":34},"HashSet из ключей HashMap — keySet() — Gymterview","new HashSet\u003C>(map.keySet()) — независимая копия. map.keySet() — view, изменения отражаются на Map. Для итерации без модификации — keySet() напрямую.","HashSet из ключей HashMap — Gymterview","new HashSet\u003C>(map.keySet()) — копия. keySet() — view. Удаление из keySet удаляет из Map.",[25,26,27,28,29,30,31,32],"HashMap","HashSet","keySet()","view","копия","ключи","Java","собеседование","new HashSet\u003C>(map.keySet()). keySet() — view (изменения в Map видны). new HashSet\u003C>() создаёт независимую копию. Для итерации без модификации — map.keySet() напрямую.",true]