如何迭代TreeMap直到特定键?

时间:2014-09-06 14:35:58

标签: java collections treemap

我想迭代一个TreeMap直到一个特定的键。

      for (int i = 0 ; i < specifickey  ; i++)

我该怎么做?

3 个答案:

答案 0 :(得分:5)

TreeMap实现了NavigableMap,它可以用于迭代一系列键。它由Map内部支持,因此您对地图所做的任何更改都会反映出来相反。您应该使用headMap(K toKey, boolean inclusive)来获取地图

NavigableMap<K,V> navigableMap = map.headMap(toKey, true);

for(Map.Entry entry : navigableMap .entrySet()){

//use the key value pair in Map.Entry
}

答案 1 :(得分:0)

像其他地图一样:

Map<Integer, Object> map = ...;

for (int key : map.keySet()) {
    if(key == yourValue) {
        //value found
    }
}

编辑:再次阅读您的问题,如果您只是想知道,如果有钥匙,那么:

if(map.containsKey(key)) {
    //do something
}

答案 2 :(得分:0)

如果您只想迭代按键:

for (String key : map.keySet()) {
    if (key.equals(target)) {
        // do something
    }
}

如果您还需要访问这些值,那么迭代条目而不是密钥会更有效:

Map<String, Integer> map = new TreeMap<>();
String target = "something";

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    if (entry.getKey().equals(target)) {
        // do something with entry.getValue()
    }
}