HashMap的getOrDefault

Java8 java.util.HashMap#getOrDefault

V ​getOrDefault(Object key, V defaultValue)
Returns the value to which the specified key is mapped, or defaultValue if this map contains no mapping for the key.//返回指定键映射到的值,如果此映射不包含该键的映射,则返回defaultValue。
@Override
    public V getOrDefault(Object key, V defaultValue) {
        Node<K,V> e;
        return (e = getNode(hash(key), key)) == null ? defaultValue : e.value;
    }

代码DEMO

/**
 * Copyright (C), 2000-2021, XXX有限公司
 * FileName: HashMapTest
 * Author: wangyetao
 * Date: 21-11-11 00:00:58
 * Description: HashMap测试用例
 * <p>
 * History:
 * <author> 作者姓名
 * <time> 修改时间
 * <version> 版本号
 * <desc> 版本描述
 */
package simple.callback.javaapidatastructure;

import java.util.HashMap;

/**
 * @ClassName: HashMapTest
 * @Description: HashMap测试用例
 * @Author: wangyetao
 * @Date: 21-11-11 00:00:58
 */
class HashMapTest {

    public static void main(String[] args) {
        HashMap<Integer, String> allWordsHashMap = new HashMap<Integer, String>();

        for (int i = 0; i < 10; i++) {
            String value = allWordsHashMap.getOrDefault(i, i + "value");
            allWordsHashMap.put(i, value);
        }

        for (int i = 0; i < allWordsHashMap.size(); i++)
            System.out.println(allWordsHashMap.get(i));

        System.out.println(allWordsHashMap.get(100));
        System.out.println(allWordsHashMap.getOrDefault(100, "default"));
    }
}

输出

0value
1value
2value
3value
4value
5value
6value
7value
8value
9value
null
default

Process finished with exit code 0

记录与总结,2021年 11月 11日 星期四 00:08:42 CST。

猜你喜欢

转载自blog.csdn.net/u014132947/article/details/121259523