Java有序地图

问题:

在Java中,是否存在像Map一样的对象,用于存储和访问密钥/值对,但是可以返回一个有序的密钥列表和一个有序的值列表,使得密钥和值列表处于相同的顺序?
所以作为代码解释,我正在寻找一些行为像我的虚构的OrderedMap:

OrderedMap om = new OrderedMap<>();
om.put(0, “Zero”);
om.put(7, “Seven”);

String o = om.get(7); // o is “Seven”
List keys = om.getKeys();
List 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); } [/code]

回答:

SortedMap接口(执行TreeMap)应该是你的朋友。
界面具有以下方法:

  •  keySet(),它按升序返回一组键
  •  values()以相应键的升序返回所有值的集合

所以这个接口完全符合你的要求。但是,密钥必须具有有意义的顺序。否则,您可以使用订单由插入订单确定的LinkedHashMap

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Java Ordered Map

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

6 + 4 =