我想迭代一个TreeMap直到一个特定的键。
for (int i = 0 ; i < specifickey ; i++)
我该怎么做?
答案 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()
}
}