English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод forEach() Java HashMap используется для выполнения指定的 действия для каждого элемента хэш-карты.
Синтаксис метода forEach():
hashmap.forEach(BiConsumer<K, V> action)
action - Действие, выполняемое для каждого элемента 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Пробегаем по каждому элементу хэш-таблицы.