Java有序地图



Answers

是否有一个对象像Map一样用于存储和访问键/值对,但可以返回有序键列表和有序值列表,以使键和值列表的顺序相同?

您正在寻找java.util.LinkedHashMap 。 你会得到一个Map.Entry<K,V>对的列表,它们总是以相同的顺序迭代。 该顺序与您放置项目的顺序相同。或者,使用java.util.SortedMap ,其中键必须具有自然顺序或由Comparator指定。

Question

在Java中,是否有一个对象用作存储和访问键/值对的Map,但可以返回有序的键列表和有序的值列表,以使键和值列表的顺序相同?

因此,按照代码解释,我正在寻找一些与我的虚构的OrderedMap类似的东西:

OrderedMap<Integer, String> om = new OrderedMap<>();
om.put(0, "Zero");
om.put(7, "Seven");

String o = om.get(7); // o is "Seven"
List<Integer> keys = om.getKeys();
List<String> values = om.getValues();

for(int i = 0; i < keys.size(); i++)
{
    Integer key = keys.get(i);
    String value = values.get(i);
    Assert(om.get(key) == value);
}






我认为你从框架中得到的最接近的集合是SortedMap




Related