计算ArrayList中整数的出现次数,如果不出现数字则返回0

时间:2019-04-28 02:51:54

标签: java

我设法对整数的出现进行了计数,但是在将不出现的数字的计数设为0时遇到了问题。数字将从0-99开始。如果数字在列表中,则计数将相应地更新,但如果不是,则计数将为0。

public static void freqCount(List<Integer> numbers){
        Collections.sort(numbers);
        Integer prevNumber = null;

        for (int number: numbers) {
            if (prevNumber == null || prevNumber != number) {
                int count = Collections.frequency(numbers, number);
                System.out.println(number + " occurs " + count);
            }
            prevNumber = number;
        }
    }

1 个答案:

答案 0 :(得分:0)

怎么样呢?

public static int[] freqCount(List<Integer> numbers) {
    int[] countArr = new int[100];
    for(int i = 0; i < 100; i++)
        countArr[i] = Collections.frequency(numbers, i);
    return countArr;
}

这应该以数组的形式返回0到99之间的每个数字的出现次数。如果n中没有出现数字numbers,则returnedArray[n]为零。