我的实现:
package com.packa;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.TreeMap;
public class TreeHashTest {
public static void main(String[] args) {
Random ran=new Random();
TreeMap map=new TreeMap();
ArrayList array=new ArrayList();
for(int i=0;i<50;i++)
{
Integer in=new Integer(10+ran.nextInt(40));
array.add(in);
}
System.out.println(array);
for(Iterator iter=array.iterator();iter.hasNext();)
{
Integer ink=(Integer)iter.next();
if(map.containsKey(ink))
{
Integer integer=(Integer)map.get(ink);
integer=new Integer(1+integer.intValue());
map.put(ink,integer);
}
else
map.put(ink,new Integer(1));
}
Set set=map.entrySet();
for(Iterator iter=set.iterator();iter.hasNext();)
{
Map.Entry entry=(Map.Entry)iter.next();
System.out.println(entry.getKey()+" "+entry.getValue());
}
}
}
输出:
找出出现次数最多的那些数:
直接使用Collections帮助类(JDK自带提供)来找出所有key-value的entry对中value最大的那些值:
方法:
Integer inn=(Integer)Collections.max(map.values());
System.out.println("the MAX number:"+inn);