📅  最后修改于: 2023-12-03 15:01:31.479000             🧑  作者: Mango
Java中的Map是一种非常常见的数据结构,它可以将一组键值对进行存储,其中每个键唯一对应一个值。在Java 8中,Map接口新增了一个getOrDefault(Object key, V defaultValue)方法,它可以在Map中查找特定键对应的值。如果该键存在,则返回该键对应的值;否则返回一个默认值。
V getOrDefault(Object key, V 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中键对应的值。