我试过了
int index = new ArrayList<String>(treemap.values()).indexOf("something");
但我没有得到如何替换价值和关键。
任何帮助都会很棒。
答案 0 :(得分:1)
你不能,TreeMap是一个有序的键映射类型。密钥按红黑树算法排序。所以键是按顺序排列的。
如果您对添加元素的顺序感兴趣,请使用LinkedHashMap。
你的问题是:
PS: 更新密钥和值意味着删除旧密钥,而不是更改它。
地图规范:
答案 1 :(得分:0)
TreeMaps
不这样做。它们不是一个索引集合(与Lists
不同),所以你要做的就是不行。
如果密钥更改,则需要删除旧密码,然后重新插入新的密钥值对。
答案 2 :(得分:0)
效率不高:
for (Map.Entry<String, String> entry : treemap.entrySet()) {
if (entry.getValue().equals("something")) {
entry.setValue("entirely different");
//treemap.remove(entry.getKey());
break;
}
}