开发者

JAVA Hashtable find maximum value

开发者 https://www.devze.com 2023-02-15 11:06 出处:网络
I want to find the largest value in a Hashtable of Integer values. Is there any quick and efficient way to achieve this?

I want to find the largest value in a Hashtable of Integer values. Is there any quick and efficient way to achieve this?

This is my code...

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 = ???;

I need to fi开发者_开发知识库nd the maximum value, which in the example above is 5. The Hashtable will always be small, less than 100 entries on average.


Use Collections#max() on Map#values().

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

Note that you should be using Map#put() to put the elements, there's no Map#add().


a) don't you write

h.put ("a", 1); 

b) Can't you get the values like this:

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

Now search the values.


Another approach:

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

精彩评论

暂无评论...
验证码 换一张
取 消