手册目录
Java 教程
Java 方法
Java 类
Java 文件处理
Java 数据结构
Java 案例
Java 参考手册
Java 关键字
Java String 方法
Java Math 方法
Java Output 方法
Java Arrays 类
Java ArrayList 方法
Java LinkedList 方法
Java HashMap 方法
Java Scanner 方法
Java 迭代器接口
Java 错误和异常类型
Java.io 包教程
Java.lang 包教程
Java.math 包教程
java.time 包教程
Java.util 包教程
Java 正则表达式教程
java.util.zip 包教程
前言
定义和用法computeIfPresent() 方法会根据键为已存在的条目重新计算一个值。如果具有指定键的条目不存在或其值为 null,则映射不会发生变化。该值
computeIfPresent() 方法会根据键为已存在的条目重新计算一个值。如果具有指定键的条目不存在或其值为 null,则映射不会发生变化。
该值是通过一个函数计算得出的,该函数可以由与 Java 的 BiFunction 接口的 apply() 方法兼容的 lambda 表达式来定义。这个函数接受两个参数:第一个参数是条目的键,第二个参数是条目的当前值。
要了解 lambda 表达式,请参阅我们的 Java Lambda 表达式教程。
为映射中的一个已存在条目计算一个新值:
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
HashMap<String, String> capitalCities = new HashMap<String, String>();
capitalCities.put("China", "Beijing");
capitalCities.put("England", "London");
capitalCities.put("Germany", "Berlin");
capitalCities.put("USA", "Washington DC");
// 使用 lambda 表达式为已存在的键重新计算值
capitalCities.computeIfPresent("England", (k, v) -> v + "(" + k + ")");
System.out.println(capitalCities); // 输出更新后的映射,其中 "England" 的值被更新
}
}
点击 "运行实例" 按钮查看在线实例
| 参数 | 描述 |
|---|---|
| key | 必需。指定条目的键。 |
| function |
必需。 该函数的第一个参数包含条目的键,第二个参数包含其当前值。 |
| 返回: | 返回由函数计算得出的新值;如果映射没有发生变化,则返回 null。 |
|---|
相关视频
科技资讯
24小时阅读榜
1
2
3
4
5
6
7
8
9
10
精品课程
共5课时 | 17.4万人学习
共49课时 | 78.2万人学习
共29课时 | 62.5万人学习
共25课时 | 39.7万人学习
共43课时 | 73.8万人学习