我在
java中有一个Hashtable,如下所示,我正在尝试获取具有最小值的密钥.显然我可以遍历所有元素来找到它但是有更简单的方法吗?
Hashtable<Object,Integer> hash= new Hashtable<Object,Integer>();
解决方法
使用Hashtable,没有.但你可以使用
TreeMap
.
A Red-Black tree based 07001 implementation. The map is sorted
according to the natural ordering of its keys,or by a Comparator
provided at map creation time,depending on which constructor is used.
它有一个方法firstKey()
,它提供了你想要的确切功能.
Grr,价值观,而不是钥匙.不,那么你需要迭代.
我会说在这种情况下你应该使用一个单独的Map(Multimap?)来存储反向关联.
Map<Object,Integer>(); SortedSetMultimap<Integer,Object> reverse = TreeMultimap.create();
每当你输入密钥,将某些东西值为哈希值,也将值,密钥反转.
然后使用reverse.keySet()检索最低值.first()
(此解决方案需要Guava)