import java.util.HashMap;
import java.util.Map;
import java.util.Random;
/**
*
* @date 13/12/2012
*/
public class cc {
public static void main(String[] args) {
Random random = new Random();
Map<Integer, Integer> numberCounts = new HashMap<Integer, Integer>();
for(int i=0; i<100; i++)
addNumberCount(numberCounts, random.nextInt(100));
for(Integer key : numberCounts.keySet())
System.out.println(key + " : " + numberCounts.get(key));
}
private static void addNumberCount(Map<Integer, Integer> map, int number) {
Integer count = map.get(number);
if( count == null )
count = 1;
else
count++;
map.put(number, count);
}
}
方法二:自己的写法:可以排序
package lianxi;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
//map里面需要保存(随机数,随机数出现的次数)
public class dd {
public static void main(String[] args) {
Random rd =new Random();
HashMap<Integer, Integer> hs =new HashMap<Integer, Integer>();
int num=0;
int j=0;
Integer count;
for(int i=0;i<=100;i++){
j++;
num=rd.nextInt(100);
count= hs.get(num);
if(hs.get(num)!=null){
count++;
}else{
count=1;
}
hs.put(num,count);
System.out.println(num+":"+hs.get(num));
}
//map按值排序
List<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(
hs.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>() {
public int compare(Map.Entry<Integer, Integer> o1,
Map.Entry<Integer, Integer> o2) {
return (o2.getValue() - o1.getValue());
}
});
for (Map.Entry<Integer, Integer> m : list) {
System.out.println(m.getKey() + "-" + m.getValue());
}
}
}
结果:2 : 1
3 : 1
4 : 2
6 : 1
7 : 1
11 : 1
13 : 1
14 : 1
15 : 1
17 : 2
16 : 2
19 : 4
23 : 1
22 : 2
25 : 3
26 : 1
28 : 1
30 : 1
34 : 2
32 : 1
38 : 1
39 : 2
36 : 1
37 : 1
43 : 1
40 : 2
46 : 1
47 : 1
44 : 2
50 : 1
48 : 3
55 : 3
54 : 2
53 : 1
58 : 1
57 : 1
63 : 2
61 : 1
60 : 1
68 : 2
64 : 2
65 : 1
66 : 2
67 : 3
76 : 2
77 : 4
78 : 2
72 : 3
73 : 1
75 : 1
85 : 2
84 : 1
87 : 1
86 : 1
81 : 4
82 : 2
94 : 1
91 : 2
98 : 1
99 : 3
96 : 1