如何获取HashMap对象的一部分?

时间:2013-04-26 03:27:54

标签: java collections hashmap

例如我有:

aaa 1
ccc 1
bbb 1
ddd 3

我只需要为新的HashMap对象分配前三行的值,而不是最后一行。这该怎么做? 输入HashMap对象表示为> String,Integer< 输出HashMap对象必须是:

aaa 1
ccc 1
bbb 1

2 个答案:

答案 0 :(得分:0)

根据定义,HashMap是无序的。 LinkedHashMap是有序的,但严格基于插入顺序。

如果您希望能够通过索引替换,则需要找到更好的数据结构,或者您必须提出一个数组列表,其中包含您可以使用的密钥副本处理订单。或者,如果你真的不依赖于任何键,只需直接使用数组列表。

答案 1 :(得分:0)

目前尚不清楚你要做什么。我将假设您从一个看起来像第一个示例的HashMap开始,并希望获得第二个示例的第二个hashmap。如果这不是您想要的,请编辑您的问题以便更清楚。

HashMap<String, Integer> secondHashMap = firstHashMap.clone();
secondHashMap.remove("ddd");