📅  最后修改于: 2023-12-03 14:49:39.956000             🧑  作者: Mango
getOrDefault
在 Java 中计算数字的频率在 Java 编程中,我们经常需要统计某个数字在一个集合或数组中出现的频率。HashMap 是一个常用的数据结构,它可以帮助我们高效地实现这个功能。在这里,我们将使用 getOrDefault
方法来计算数字的频率。
import java.util.HashMap;
import java.util.Map;
public class FrequencyCounter {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5, 1, 2, 3, 4, 1, 2, 1};
Map<Integer, Integer> frequencyMap = new HashMap<>();
for (int number : numbers) {
frequencyMap.put(number, frequencyMap.getOrDefault(number, 0) + 1);
}
printFrequency(frequencyMap);
}
private static void printFrequency(Map<Integer, Integer> frequencyMap) {
for (Map.Entry<Integer, Integer> entry : frequencyMap.entrySet()) {
System.out.println("Number: " + entry.getKey() + ", Frequency: " + entry.getValue());
}
}
}
上面的代码演示了如何使用 HashMap 和 getOrDefault
方法来计算数字的频率。首先,我们定义了一个整数数组 numbers
,其中包含了一组要统计的数字。
然后,我们创建了一个名为 frequencyMap
的 HashMap,用于存储数字及其对应的频率。
接下来,我们使用 for-each 循环遍历数组中的每个数字。对于当前的数字,我们使用 getOrDefault
方法来获取它在 frequencyMap
中的当前频率(如果不存在,则默认为0),然后将其加1,并将结果存回 frequencyMap
中。
最后,我们调用 printFrequency
方法打印出每个数字及其频率的信息。
运行以上代码将输出以下结果:
Number: 1, Frequency: 4
Number: 2, Frequency: 3
Number: 3, Frequency: 2
Number: 4, Frequency: 2
Number: 5, Frequency: 1
这表明数字1在数组中出现了4次,数字2出现了3次,以此类推。
这种使用 getOrDefault
的方法可以方便地统计数字的频率,避免了繁琐的条件判断或额外的代码。
希望以上内容对你有所帮助!