РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
391 of 1163 menu

Метод entrySet

Метод entrySet возвращает представление всех пар ключ-значение, хранящихся в коллекции HashMap. Возвращаемое значение имеет тип Set<Map.Entry<K, V>>, где каждая пара представлена объектом Map.Entry. Метод не принимает параметров. Полученное множество связано с исходной коллекцией: изменения в нем отражаются на HashMap и наоборот. Это удобный способ перебрать все пары ключ-значение одновременно.

Синтаксис

hashMap.entrySet()

Пример

Давайте создадим коллекцию HashMap и получим множество ее пар с помощью метода entrySet:

import java.util.HashMap; import java.util.Set; import java.util.Map; public class Main { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("a", 1); map.put("b", 2); map.put("c", 3); Set<Map.Entry<String, Integer>> res = map.entrySet(); System.out.println(res); } }

Результат выполнения кода:

[a=1, b=2, c=3]

Пример

Давайте переберем все пары ключ-значение с помощью цикла for-each и выведем ключи и значения по отдельности:

import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("a", 1); map.put("b", 2); map.put("c", 3); for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + " -> " + entry.getValue()); } } }

Результат выполнения кода:

"a -> 1" "b -> 2" "c -> 3"

Пример

Давайте изменим значение через объект Map.Entry с помощью метода setValue и убедимся, что изменения отразились на исходной коллекции:

import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("a", 1); map.put("b", 2); map.put("c", 3); for (Map.Entry<String, Integer> entry : map.entrySet()) { if (entry.getKey().equals("b")) { entry.setValue(99); } } System.out.println(map); } }

Результат выполнения кода:

{a=1, b=99, c=3}

Пример

Давайте посчитаем сумму всех значений коллекции, перебрав ее пары через entrySet:

import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { HashMap<String, Integer> map = new HashMap<>(); map.put("a", 1); map.put("b", 2); map.put("c", 3); int sum = 0; for (Map.Entry<String, Integer> entry : map.entrySet()) { sum += entry.getValue(); } System.out.println(sum); } }

Результат выполнения кода:

6

Смотрите также

  • класс HashMap,
    который хранит пары ключ-значение
  • метод keySet,
    который возвращает множество ключей
  • метод values,
    который возвращает коллекцию значений
  • метод forEach,
    который перебирает пары коллекции
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить