在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的接口(与实施TreeMap的)应该是你的朋友。
该接口具有以下方法:
因此,此接口完全可以满足你的要求。但是,密钥必须具有有意义的顺序。否则,你可以使用LinkedHashMap,其顺序由插入顺序决定。