统计数组中每个数字出现的次数
在实际开发中,有时候我们需要统计一个数组中每个数字出现的次数,以便进行进一步的分析或处理。在Java中,我们可以通过使用Map来实现这个功能。
实际问题
假设我们有一个整型数组 int[] nums = {1, 2, 3, 1, 2, 3, 4, 5, 4, 4, 5, 6, 7, 8, 6, 7, 8, 9, 0, 9};
,我们需要统计这个数组中每个数字出现的次数。
解决方案
我们可以使用一个HashMap来统计每个数字出现的次数,其中key为数字,value为出现的次数。我们遍历数组,对每个数字进行统计。
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 1, 2, 3, 4, 5, 4, 4, 5, 6, 7, 8, 6, 7, 8, 9, 0, 9};
Map<Integer, Integer> countMap = new HashMap<>();
for (int num : nums) {
countMap.put(num, countMap.getOrDefault(num, 0) + 1);
}
for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
System.out.println("Number " + entry.getKey() + " appears " + entry.getValue() + " times");
}
}
}
在上面的代码中,我们首先创建了一个HashMap countMap
,然后遍历数组 nums
,对每个数字进行统计。使用 countMap.put(num, countMap.getOrDefault(num, 0) + 1);
来统计每个数字出现的次数。最后,我们遍历 countMap
,打印出每个数字出现的次数。
示例
通过运行上面的代码,我们可以得到如下输出:
Number 0 appears 1 times
Number 1 appears 2 times
Number 2 appears 2 times
Number 3 appears 2 times
Number 4 appears 3 times
Number 5 appears 2 times
Number 6 appears 2 times
Number 7 appears 2 times
Number 8 appears 2 times
Number 9 appears 2 times
关系图
下面是数组中每个数字出现次数统计的关系图:
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE-ITEM : contains
CUSTOMER }|--|{ ADDRESS : lives
结尾
通过本文介绍,我们学习了如何用Java统计一个数组中每个数字出现的次数。这种方法在实际开发中非常有用,可以帮助我们更好地处理数据分析和统计工作。希望本文能够对你有所帮助。