java – 如何使用其值而不是键从哈希表中删除元素?

我是哈希表的新手,我只是搞清楚它的基本操作.
我有一个如下所示创建的哈希表,也插入了值.

Hashtable<Integer , String> ht = new Hashtable<Integer , String>();
ht.put(1234, "ABCD");
ht.put(2345, "EFGH");
ht.put(4567, "IJKL");

我可以使用密钥删除所需的元素,如下所示

System.out.println("Deleting entry with key 2345");
ht.remove(2345);
System.out.println(ht.toString());

它给出了以下输出

Deleting entry with key 2345
{4567=IJKL, 1234=ABCD}

我无法找到任何有助于使用值作为索引并删除元素来定位哈希表中的元素的方法.我该怎么办呢?

最佳答案
试试这个

ht.values().remove("ABCD");

这将删除具有指定值的一个条目,如果可能有多个具有相同值的条目,则可以使用此条目

ht.values().removeAll(Collections.singleton("ABCD"));

转载注明原文:java – 如何使用其值而不是键从哈希表中删除元素? - 代码日志