我有一个TreeMap,我想迭代它并打印键值对。但我不想从头开始,我想从一个特定的键值对开始。
基本上我想这样做 -
TreeMap<String, String> treeMap = new TreeMap<String, String>();
//Populate it here
treeMap.get("key1");
//get the iterator to the treemap starting from the key1-value1 pair and iterate
如果我想从头到尾迭代,我知道如何做到这一点,但我没有找到任何答案。
答案 0 :(得分:5)
您可以使用tailMap执行此操作:
Iterator<String> iter = treeMap.tailMap("key1").keySet().iterator();
while (iter.hasNext()) {
String key = iter.next();
String value = treeMap.get(key);
// do your stuff
}
或
Iterator<Map.Entry<String,String>> iter = treeMap.tailMap("key1").entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String,String> entry = iter.next();
// do your stuff
}
答案 1 :(得分:3)
使用tailMap
,
treeMap.tailMap(fromKey)
您也可以像这样使用它;
for (Map.Entry<String, String> entry : treeMap.tailMap("key1").entrySet()) {
// Do something
}