我是靠谱客的博主 高兴曲奇,最近开发中收集的这篇文章主要介绍HashMap方法之computeIfAbsent()用法详解,含案例分析HashMap computeIfAbsent() method in Java with Examples案例分析,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

HashMap computeIfAbsent() method in Java with Examples

Syntax:

public V
computeIfAbsent(K key,
Function<? super K, ? extends V> remappingFunction)

key:与值关联的键。
remappingFunction:对值进行操作的函数。

返回:此方法返回与指定键关联的当前(现有或计算)值,如果映射返回null,则返回null。

  • 如果此方法的映射函数返回null,则不记录映射。
  • 如果重映射函数抛出异常,则重新抛出异常,并不记录映射。
  • 在计算过程中,不允许使用此方法修改此映射。
  • 如果重映射函数在计算期间修改了此映射,则此方法将抛出ConcurrentModificationException。

案例分析

Below programs illustrate the computeIfAbsent(Key, Function) method:

1

import java.util.*;
public class 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}
new hashTable:{newPen = 600,Book = 500,newBook = 800,Mobile = 5000,Pen = 10,Clothes = 400}

2

import java.util.*;
public class 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}
new hashTable:{4 = 600RS,3 = 1000RS,2 = 500RS,1 = 100RS}

最后

以上就是高兴曲奇为你收集整理的HashMap方法之computeIfAbsent()用法详解,含案例分析HashMap computeIfAbsent() method in Java with Examples案例分析的全部内容,希望文章能够帮你解决HashMap方法之computeIfAbsent()用法详解,含案例分析HashMap computeIfAbsent() method in Java with Examples案例分析所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部