【发布时间】:2017-03-24 19:25:39
【问题描述】:
我想计算 Java 数组中每个数字的出现次数(例如 1=?、2=?、3=?)。我的数组如何存储超过 10 个值?
int [] arryNum = new int[]{4,4,4,3,4,5,4,3,4,4,4,5,4,5,5,5,4,3,2,15,4,3,4,6,4,3,4,5,4,2,4,5,4,3,2,5,4,3,5,4,0,4,3,4,5,4,3,0,4,5,4,3,5,4,2,3,2,3,4};
int[] counter = new int[] { 0, 0, 0, 0, 0,0 };
for (int i = 0; i < arryNum.length; i++) {
counter[arryNum[i] ]++;
}
for (int i = 0; i < counter.length; i++){
System.out.println((i + 1) + ":" + counter[i]);
}
【问题讨论】:
-
使用
Map<Integer, Integer>,键是数字,值是频率/计数器。 -
erm... sry @Thomas 我是 java 新手,我可以知道如何使用 Map
根据我的问题存储我的价值吗? -
查看Map Interface。 Map本身是一个接口,所以不能直接创建它的实例,但是可以创建一个子类的实例;即:
Map<Integer, Integer> map = new HashMap<Integer, Integer>();。从那里,您可以使用put(K,V)、get(K)和containsKey(K)方法来做您想做的事。
标签: java arrays count indexoutofboundsexception