publicVcomputeIfAbsent(Kkey,Function<?superK,?extendsV>remappingFunction)
参数:
key:与值关联的键。
remappingFunction:对值进行操作的函数。
返回:此方法返回与指定键关联的当前(现有或计算)值,如果映射返回null,则返回null。
import java.util.*;
public >GFG {
// Main method
public static void main(String[] args)
{
Map<String, Integer> map = new Hashtable<>();
map.put("Pen", 10);
map.put("Book", 500);
map.put("Clothes", 400);
map.put("Mobile", 5000);
System.out.println("hashTable: "
+ map.toString());
// 为缺少的新key提供值
// 使用computeIfAbsent方法
map.computeIfAbsent("newPen", k -> 600);
map.computeIfAbsent("newBook", k -> 800);
System.out.println("new hashTable: "
+ map);
}
}
输出:
hashTable:{Book=500,Mobile=5000,Pen=10,Clothes=400}
newhashTable:{newPen=600,Book=500,newBook=800,Mobile=5000,Pen=10,Clothes=400}
import java.util.*;
public >GFG {
// Main method
public static void main(String[] args)
{
Map<Integer, String> map = new Hashtable<>();
map.put(1, "100RS");
map.put(2, "500RS");
map.put(3, "1000RS");
System.out.println("hashTable: "
+ map.toString());
// 不存在健值对的情况
// 使用computeIfAbsent方法
map.computeIfAbsent(4, k -> "600RS");
// 如果存在不会有任何影响
// key为1已经存在了
map.computeIfAbsent(1, k -> "800RS");
System.out.println("new hashTable: "
+ map);
}
}
输出:
hashTable:{3=1000RS,2=500RS,1=100RS}
newhashTable:{4=600RS,3=1000RS,2=500RS,1=100RS}