统计数组中每个数字出现的次数

在实际开发中,有时候我们需要统计一个数组中每个数字出现的次数,以便进行进一步的分析或处理。在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统计一个数组中每个数字出现的次数。这种方法在实际开发中非常有用,可以帮助我们更好地处理数据分析和统计工作。希望本文能够对你有所帮助。