package com.collections; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Random; import java.util.Set; import java.util.TreeMap; /** * @类功能说:随机生成50个整数数字,每个数字的范围是{10,50}, * 统计每个数字出现的次数 以及出现次数最多的数字的个数。最后将每个数字和出现的次数打印出来。 * 如果某个数字出现0次,就不要打印它,打印时按照数字的升序排列。 * @类修改者: * @修改日期: * @修改说明: * @作者:matieli * @创建时间:Jun 22, 2012 10:25:45 AM * @版本:V1.0 * */ public class MapTest { public static void main(String[] args) { Map<Integer, Integer> map = new TreeMap<Integer, Integer>();// 存储生成的随机数,以及出现的次数(key=随机数,value=次数) Random random = new Random(); for (int i = 0; i < 50; i++) { Integer in = random.nextInt(41) + 10; if (map.get(in) == null) { map.put(in, new Integer(1)); } else { int oldValue = ((Integer) map.get(in)).intValue(); map.put(in, new Integer(oldValue + 1)); } } Set<Map.Entry<Integer, Integer>> set = map.entrySet(); Collection<Integer> clo = (Collection<Integer>) map.values(); int maxValue = Collections.max(clo); List<Integer> list = new ArrayList<Integer>(); for (Iterator<Map.Entry<Integer, Integer>> inte = set.iterator(); inte.hasNext();) { Map.Entry<Integer, Integer> entry = (Map.Entry<Integer, Integer>) inte.next(); Integer key = (Integer) entry.getKey(); Integer value = (Integer) entry.getValue(); if (value.intValue() == maxValue) { list.add(key); } System.out.println("随机数<" + key + ">,出现了<" + value + ">次."); } System.out.println("出现的最多的次数是:" + maxValue + "次."); System.out.println("出现次数最多的数字分别是:"); for (Integer i : list) { System.out.println(i); } } }
随机生成50个整数数字,每个数字的范围是{10,50}, 统计每个数字出现的次数 以及出现次数最多的数字的个数。最后将每个数字和出现的次数打印出来。
猜你喜欢
转载自matieli.iteye.com/blog/1565965
今日推荐
周排行