📜  java map get if contains else 0 - Java (1)

📅  最后修改于: 2023-12-03 15:01:31.479000             🧑  作者: Mango

Java Map getOrDefault()方法

Java中的Map是一种非常常见的数据结构,它可以将一组键值对进行存储,其中每个键唯一对应一个值。在Java 8中,Map接口新增了一个getOrDefault(Object key, V defaultValue)方法,它可以在Map中查找特定键对应的值。如果该键存在,则返回该键对应的值;否则返回一个默认值。

语法
V getOrDefault(Object key, V defaultValue)
  • key:要查找的键
  • defaultValue:键不存在时要返回的默认值
使用示例

下面是一个示例程序,它使用Map的getOrDefault方法来计算一段文本中每个单词的出现频率。

import java.util.*;

public class WordCount {
    public static void main(String[] args) {
        String text = "The quick brown fox jumps over the lazy dog";
        String[] words = text.split("\\s+");

        Map<String, Integer> wordCount = new HashMap<>();
        for (String word : words) {
            wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
        }

        System.out.println(wordCount);
    }
}

在上面的示例程序中,我们首先将一段文本按照空格分割成单词,并存储在一个String数组中。然后我们创建一个名为wordCount的HashMap对象,用于存储单词出现的次数。接下来,我们使用for-each循环遍历每个单词,并使用Map的getOrDefault方法获取该单词在wordCount中出现的次数。如果该单词不存在于wordCount中,则使用默认值0。最后,我们打印wordCount对象,以显示每个单词出现的次数。

输出结果为:

{brown=1, jumps=1, The=1, quick=1, lazy=1, over=1, fox=1, dog=1, the=1}
总结

Map的getOrDefault方法是一种很方便的查找键值对的方式,它可以避免我们写大量的if-else语句来判断键是否存在。在Java编程中,我们经常会用到该方法,以便快速地查找Map中键对应的值。