给定一个数组,统计数组中各个元素出现的次数

  1. map存入所有的元素和对应的次数
  2. map的keySet()方法得到key的集合
  3. key集合创建迭代器
  4. while(it.hasNext())标准迭代方法
  5. 因为是key集合创建出来的迭代器,每次it.next()迭代下一个key
  6. map.get(key)得到value

In Intellij:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class Freq {

public static void Statistic() {
int arr[] = {1,2,3,1,2,4,6,87,4,3,8,9,3,2,46,7};
Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (int i = 0; i < arr.length; ++i) {
if (map.get(arr[i]) != null) {
map.put(arr[i], map.get(arr[i]) + 1);
} else {
map.put(arr[i], 1);
}
}

Set<Integer> keySet = map.keySet();
Iterator<Integer> it = keySet.iterator();

while (it.hasNext()) {
Integer key = it.next();
Integer value = map.get(key);
System.out.println(key+"共有"+value+"次");
}
}

public static void main(String[] args) {
Statistic();
}
}