如何通过Value删除hashmap中的条目?

cat*_*hok 19 java hashmap

我需要一个方法来通过它的值从hashmap中删除一个入口集.有没有迭代的简单方法?

Lou*_*man 21

有一个简单的方法,但它将在内部使用迭代.(没有办法解决这个问题.)

map.values().remove(valueToRemove);
Run Code Online (Sandbox Code Playgroud)

  • OP 提到删除了“条目集”。如果他的意思是一个 Set,那么他可以使用 map.values().removeAll(setOfValuesToRemove); @cataschok 请注意 map.values.remove(valueToRemove) 只会删除遇到的第一个 valueToRemove 。 (2认同)

Ara*_*ram 8

不是在HashMap中,但google-guava有一个BiMap,你可以像伪代码一样

BiMap m=new HashBiMap();
m.inverse().remove(valueYouWantToRemove)
Run Code Online (Sandbox Code Playgroud)