Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何迭代树映射直到指定键?_Java_Collections_Treemap - Fatal编程技术网

Java 如何迭代树映射直到指定键?

Java 如何迭代树映射直到指定键?,java,collections,treemap,Java,Collections,Treemap,我想迭代一个树映射,直到找到一个特定的键 for (int i = 0 ; i < specifickey ; i++) for(int i=0;i

我想迭代一个树映射,直到找到一个特定的键

      for (int i = 0 ; i < specifickey  ; i++)
for(int i=0;i
我如何才能做到这一点?

像其他地图一样:

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

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

如果您只想在键上迭代:

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()
    }
}
如果您还需要访问这些值,那么迭代条目而不是键更有效:

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()
    }
}
Map Map=newtreemap();
String target=“某物”;
对于(Map.Entry:Map.entrySet()){
if(entry.getKey().equals(target)){
//对entry.getValue()执行一些操作
}
}

TreeMap
实现了
NavigableMap
,这对迭代一系列键很有用。它由
映射
内部支持,因此对映射所做的任何更改都会反映出相反的结果。您应该使用
头映射(K toKey,包含布尔值)
来获取映射

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

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

//use the key value pair in Map.Entry
}
NavigableMap NavigableMap=map.headMap(toKey,true);
对于(Map.Entry:navigableMap.entrySet()){
//在Map.Entry中使用键值对
}

get key set of map,然后遍历它,但我用这种方式遍历了所有的map!当我找到特定的键时,我想打破这个循环。使用headMap作为TreeMap从java6开始实现NavigableMap。+1+1:至少是一个体面的答案,使得使用
TreeMap
有用的方法。