java hashmap computeIfPresent
时间: 2023-07-07 19:30:29 浏览: 164
`computeIfPresent` 是 Java 中 HashMap 的一个方法,用于根据指定的键和计算函数来更新映射表中的值。如果指定的键不存在,则不会做任何操作。如果指定的键存在,则会将计算函数应用于该键的当前映射值,并将结果存入映射表中。
下面是 `computeIfPresent` 方法的语法:
```java
public V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
```
其中,`key` 表示要更新映射表中的键,`remappingFunction` 是一个计算函数,它接受两个参数,即键和当前映射值,并返回一个新的映射值。
使用示例:
```java
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
map.put("orange", 3);
map.computeIfPresent("apple", (k, v) -> v + 1);
System.out.println(map); // 输出:{orange=3, apple=2, banana=2}
```
在上面的例子中,我们先向 map 中添加了三个键值对,然后使用 `computeIfPresent` 方法对键为 "apple" 的键值对进行更新,计算函数将当前值加 1。最后输出更新后的 map,可以看到 "apple" 对应的值已经从 1 更新为 2。
阅读全文