您好,我想显示 int[] 数组中数字的出现次数。我发现很多人试图问类似的问题,但他们的数组是字符串。这是我的工作从 10-25 中选择 10 个随机数并打印 100 次,显示数字的出现次数。例如:
12 15 16 17 20 14 24 21 22 15 10 12 16 24 23 14 23 12 11 10
10 的频率是:2 11的频率是:1 12的频率是:3 等等
public void pickRandomNo(int[] a) {
printHeader();
Random randomGenerator = new Random();
for (int row = 0; row < 9; row++) {
for (int i = 0; i < 10; i++) {
array[i] = 10 + randomGenerator.nextInt((25 - 10) + 1);
System.out.print(array[i] + " ");
} System.out.println("");
}
}
public void displayOccurences() {
ArrayList arrlist = new ArrayList();
arrlist.add(array);
int freq = Collections.frequency(arrlist, 10);
System.out.println("Frequency of 10 is: " + freq);
}
最佳答案
那么,对于您的 displayOccurences
方法,您可以这样做:
int freq = Collections.frequency(Arrays.asList(array), 10);
或者您可以采用老式的方式进行迭代:
int freq = 0;
for(final int v : array)
if(v == 10)
freq++;
或者如果您使用的是 Java 8,您可以尝试这样的操作:
int freq = Arrays.asList(array).stream().filter(i -> i.equals(10) || i == 10).count();
关于java - 如何显示数组中数字的出现次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18501753/