What's the quickest way to remove an element from a Map by value in Java?

后端 未结 12 579
臣服心动
臣服心动 2020-12-09 01:36

What\'s the quickest way to remove an element from a Map by value in Java?

Currently I\'m using:

    DomainObj valueToRemove = new DomainObj();
    S         


        
12条回答
  •  感动是毒
    2020-12-09 01:52

    If you don't have a reverse map, I'd go for an iterator.

    DomainObj valueToRemove = new DomainObj();
    
    for (
        Iterator> iter = map.entrySet().iterator();
        iter.hasNext();
    ) {
        Map.Entry entry = iter.next();
        if (valueToRemove.equals(entry.getValue())) {
            iter.remove();
            break; // if only want to remove first match.
        }
    }
    

提交回复
热议问题