package com.lee;import java.util.ArrayList;import java.util.Collection;import java.util.Collections;import java.util.Iterator;import java.util.List;import java.util.Set;import java.util.TreeMap;import java.util.Map;import java.util.Random;/** * 隨機產生50個數字(整數),每個數位範圍是[10, * 50],統計每個數字出現的次數以及出現次數最多的數字與它的個數,最後將每個數字及其出現次數列印出來,如果某個數字出現次數為0 * ,則不要列印它。列印時按照數位升序排列 * * * */public class RandTest {public static void main(String[] args){Map map = new TreeMap(); //儲存數字出現的次數(key為數字,value為數字出現的次數)Random random = new Random();for (int i = 0; i < 50; i++){int number = random.nextInt(41) + 10;Integer in = new Integer(number);if(map.get(in) == null){map.put(in, new Integer(1));}else{int value = ((Integer)map.get(in)).intValue();map.put(in, new Integer(value + 1));}} //計算出現次數最多Collection cols = map.values();Integer maxOccurs = (Integer)Collections.max(cols);Set set = map.entrySet();List list = new ArrayList(); //儲存出現數字最大的數字for (Iterator iter = set.iterator(); iter.hasNext();){Map.Entry entry = (Map.Entry)iter.next();Integer key = (Integer)entry.getKey();Integer value = (Integer)entry.getValue();if(value.intValue() == maxOccurs.intValue()){list.add(key);}System.out.println(key + ":" + value);} System.out.println("出現的最多次數為:" + maxOccurs);System.out.println("這些數字分別是:");for(Iterator iter = list.iterator(); iter.hasNext();){System.out.println(iter.next());}}}