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
有用的方法。