2011-03-09 119 views
2

我想查找IntegerHashtable中的最大值。有没有快速有效的方法来实现这一目标?JAVA哈希表查找最大值

这是我的代码...

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个条目。

+2

遍历散列表? – iluxa 2011-03-09 00:23:56

+0

非常感谢球员 – 2011-03-09 00:42:47

回答

0

另一种方法:

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

但它总是比迭代值慢。 – 2011-03-09 00:35:55

1

一)不写

h.put ("a", 1); 

B)你能不能得到的值是这样的:

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

现在搜索值。