English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map

Java Set

Java Ввод/Вывод (I/O)

Java Reader/Writer

Другие темы Java

Метод forEach() Java HashMap: использование и пример

Java методы HashMap

Метод forEach() Java HashMap используется для выполнения指定的 действия для каждого элемента хэш-карты.

Синтаксис метода forEach():

hashmap.forEach(BiConsumer<K, V> action)

Параметры forEach()

  • action - Действие, выполняемое для каждого элемента HashMap

Возврат значения forEach()

Метод forEach() не возвращает никакого значения.

Пример: Java HashMap forEach()

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Создание HashMap
    HashMap<String, Integer> prices = new HashMap<>();
    // Вставка записи в HashMap
    prices.put("Shoes", 200);
    prices.put("Bag", 300);
    prices.put("Pant", 150);
    System.out.println("Цена на рынке: " + prices);
    System.out.print("Цена со скидкой: ");
    // Передача лямбда-выражения в forEach()
    prices.forEach((key, value) -> {
      // Значение снижено на 10%
      value = value - value * 10/100;
      System.out.print(key + "=" + value + " ");
    });
  }
}

Результат вывода

Цена на рынке: {Pant=150, Bag=300, Shoes=200}
Цена со скидкой: Pant=135 Bag=270 Shoes=180

В примере выше мы создали хэш-мапу с именем prices. Обратите внимание на код:

prices.forEach((key, value) -> {
  value = value - value * 10/100;
  System.out.print(key + "=" + value + " ");  
});

Мы уже изменилиlambda-выражениев качестве параметра метода forEach(). Здесь:

  • Метод forEach() выполняет для каждого элемента хэш-таблицы операцию,指定的 lambda-выражением

  • Lambda-выражение уменьшает каждый значений на 10% и выводит все ключи и уменьшенные значения

Для получения дополнительной информации о lambda-выражениях посетитеJava Lambda выражения.

ВниманиеМетод forEach() отличается от цикла for-each. Мы можем использоватьЦикл for-each JavaПробегаем по каждому элементу хэш-таблицы.

Java методы HashMap