在TreeMap中删除地图元素

时间:2018-10-30 13:51:30

标签: java dictionary treemap

我有这个结构

TreeMap<String,Map<String,String>> map;

我想删除由键找到的Map内的一个键值对。 我尝试过:

map.get(key).remove(key2);

但是它抛出NullPointerException。 要找到我尝试过的问题:

Map<String,String> aux = map.get(key);
aux.remove(key2);

,发现map.get仅返回null。

有解决方案吗? 预先谢谢你!

1 个答案:

答案 0 :(得分:0)

您可以检查外部映射中是否存在外键(在这种情况下为key),只有在第二个get正确的情况下才调用它。

Map<String,String> outerKey = map.get(key);
if(outerKey != null) {
    outerKey.remove(key2)
}

您得到NullPointerException是因为外部映射中不存在键key(或映射为null值),所以map.get(key)返回null。