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

Java 기본 튜토리얼

Java 흐름 제어

Java 배열

Java 방향 객체(I)

Java 방향 객체(II)

Java 방향 객체(III)

Java 예외 처리

Java 목록(List)

Java 큐(큐)

Java Map 집합

Java Set 집합

Java 입력/출력(I/O)/O)

Java 리더/Writer

Java 其他主题

Java HashMap compute() 使用方法及示例

Java HashMap 메서드

Java HashMap compute()方法计算一个新值,并将其与哈希映射中的指定键相关联。

compute()方法的语法为:

hashmap.compute(K key, BiFunction remappingFunction)

compute()参数

compute()方法有两个参数:

  • key - 与计算值关联的键

  • remappingFunction - 为指定计算新值的函数

주의:remappingFunction可以接受两个参数。

compute()返回值

  • 返回与键关联的新值

  • 如果没有与键关联的值,则返回null

주의:如果remappingFunction结果为null,则将删除指定的映射。

示例:HashMap compute()插入新值

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("HashMap: " + prices);
    //以10%的折扣重新计算鞋子的价格
    int newPrice = prices.compute("Shoes", (key, value) -> value - value * 10/100);
    System.out.println("鞋折扣价: " + newPrice);
    //打印更新的HashMap
    System.out.println("更新后的 HashMap: " + prices);
  }
}

输出结果

HashMap: {Pant=150, Bag=300, Shoes=200}
鞋折扣价: 180
更新后的 HashMap: {Pant=150, Bag=300, Shoes=180

在上面的示例中,我们创建了一个名为prices的哈希映射。注意表达式

prices.compute("Shoes", (key, value) -> value - value * 10/100)

여기서는

  • (key, value) -> value - value * 10/100 -  이것은 라ム다 표현식입니다. 이는 신발의 원가를 낮춥니다10%을 반환하고, 라ム다 표현식에 대한更多信息를 알고 싶다면 방문하세요Java Lambda 표현식

  • prices.compute() - 라ム다 표현식이 반환하는 새로운 값을 Shoes의 매핑과 연결합니다.

주의:Java의 공식 문서에 따르면,HashMap merge()compute() 메서드보다 간단합니다.

추천 읽기

Java HashMap 메서드