我有一个从json字符串创建的映射,按照我需要解析的顺序排序.
如果在索引6(第7个键)处有一个键,我希望能够从该键迭代到地图的末尾,并使用这些键/值对进行我需要的处理.
反正有没有这样做?
A Map通常不维护密钥的顺序.你需要使用
NavigableMap,如TreeMap.如果您的钥匙有自然顺序,则最好.LinkedHashMap是保留插入顺序的地图实现.示例代码段(LinkedHashMap):
Map<Integer, String> map = new LinkedHashMap<Integer, String>();
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
map.put(4, "four");
map.put(5, "five");
map.put(6, "six");
map.put(7, "seven");
map.put(8, "eight");
map.put(9, "nine");
int index = 0;
for (Integer key : map.keySet()) {
if (index++ < 6)
continue;
System.out.println(map.get(key));
}
// Prints:
// seven
// eight
// nine
Run Code Online (Sandbox Code Playgroud)
示例代码段(TreeMap):
TreeMap<Integer, String> map = new TreeMap<Integer, String>();
map.put(5, "five");
map.put(6, "six");
map.put(7, "seven");
map.put(8, "eight");
map.put(9, "nine");
for (Integer key : map.tailMap(6).keySet())
System.out.println(map.get(key));
// Prints
// six
// seven
// eight
// nine
Run Code Online (Sandbox Code Playgroud)