随机产生50个30到35的整数,
统计每个数字出现的次数(TreeMap实现),
输出时按照数字的降序排列,
并且统计出现次数最多的数字和它的次数。
PS:如果有两个数字出现的次数一样,则只需输出其中一个。
package test3_31.t5;
import java.util.Comparator;
import java.util.Map;
import java.util.Random;
import java.util.TreeMap;
/*随机产生50个30到35的整数,
统计每个数字出现的次数(TreeMap实现),
输出时按照数字的降序排列,
并且统计出现次数最多的数字和它的次数。
PS:如果有两个数字出现的次数一样,则只需输出其中一个。
*/
public class test5 {
public static void main(String[] args) {
TreeMap<Integer, Integer> treeMap = new TreeMap<>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2.compareTo(o1);
}
});
//产生五十个随机整数,装入map
Random random = new Random();
for (int i = 0; i < 50; i++) {
int key = random.nextInt(6) + 30;
if (treeMap.containsKey(key)){
Integer integer = treeMap.get(key);
treeMap.put(key,integer+1);
}else {
treeMap.put(key,1);
}
}
//找出最大的key和value
Integer maxkey=0;
Integer maxvalue=0;
for (Map.Entry<Integer, Integer> entry : treeMap.entrySet()) {
System.out.println(entry.getKey()+":"+ entry.getValue());
if (entry.getValue()>maxvalue){
maxkey=entry.getKey();
maxvalue=entry.getValue();
}
}
System.out.println("------------------");
System.out.println("出现次数最多的是:"+maxkey+"出现了"+maxvalue+"次");
}
}