JAVA Hashtable找到最大值

时间:2011-03-09 00:23:21

标签: java hashtable enumeration max

我想找到Hashtable Integer个值中的最大值。有没有快速有效的方法来实现这一目标?

这是我的代码......

Hashtable<String,Integer> h = new Hashtable<String,Integer>();

h.add( "a",1 );
h.add( "b",5 );
h.add( "c",3 );
h.add( "d",5 );
h.add( "e",2 );
h.add( "f",1 );

int max = ???;

我需要找到最大值,在上面的示例中为5Hashtable总是很小,平均少于100个条目。

3 个答案:

答案 0 :(得分:20)

Collections#max()上使用Map#values()

int max = Collections.max(h.values());

请注意,您应该使用Map#put()来放置元素,而不是Map#add()

答案 1 :(得分:1)

a)你不写吗

h.put ("a", 1); 

b)你不能得到这样的值:

java.util.Collection <Integer> ci = h.values (); 
// [1, 5, 3, 5, 2, 1] 

现在搜索值。

答案 2 :(得分:0)

另一种方法:

new TreeSet(h.values()).last()