Java HashMap forEach()方法用于對哈希映射的每個映射執(zhí)行指定的操作。
forEach()方法的語法為:
hashmap.forEach(BiConsumer<K, V> action)
action - 對HashMap的每個映射執(zhí)行的操作
forEach()方法不返回任何值。
import java.util.HashMap;
class Main {
public static void main(String[] args) {
// 創(chuàng)建 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("折扣價: ");
// 將lambda表達(dá)式傳遞給 forEach()
prices.forEach((key, value) -> {
// 值降低10%
value = value - value * 10/100;
System.out.print(key + "=" + value + " ");
});
}
}輸出結(jié)果
市場價: {Pant=150, Bag=300, Shoes=200}
折扣價: Pant=135 Bag=270 Shoes=180在上面的示例中,我們創(chuàng)建了一個名為prices的哈希映射。注意代碼,
prices.forEach((key, value) -> {
value = value - value * 10/100;
System.out.print(key + "=" + value + " ");
});我們已將lambda表達(dá)式作為該forEach()方法的參數(shù)傳遞。這里,
forEach()方法為哈希表的每個條目執(zhí)行由lambda表達(dá)式指定的操作
lambda表達(dá)式將每個值減少10%,并打印所有鍵和減少的值
要了解有關(guān)lambda表達(dá)式的更多信息,請訪問Java Lambda 表達(dá)式。
注意:forEach()方法與for-each循環(huán)不同。我們可以使用Java for-each循環(huán)遍歷哈希表的每個條目。