有没有办法为HashMap中的元素获取唯一的int键<string,string>?

时间:2016-11-26 06:20:11

标签: java hashmap

想知道有没有办法为HashMap中的每个元素获取唯一的整数键。我考虑过hashCode()但是没有保证实现唯一键。可以使用各种算法编写单独的程序,但在Java中寻找内置解决方案的轻量级。 HashMap将包含最多100个元素。

2 个答案:

答案 0 :(得分:1)

如果您只需要一个唯一ID ,您可以使用LinkedHashMap(来自Javadoc)定义迭代排序,这通常是插入密钥的顺序进入地图(插入顺序),如果你那么得到keySet你可以构建一个ArrayList,然后使用List中的索引作为你的唯一ID

答案 1 :(得分:0)

查看Apache Commons中的HashCodeBuilder。它就像你得到的那样接近 - 你只需要考虑你想要哈希的每个元素。可能对你有用的是你可以添加任何东西,包括你选择的常数 - 所以如果你想添加地图的索引或你能想到的任何东西来保证唯一性,你可以。

Their documentation here has a pretty good example.

它只是超级灵活,所以它应该让这更容易,无论如何!