Java – how to prevent HashMap or treemap from replacing previous values
•
Java
If it already exists, how can I prevent HashMap or treemap from replacing the previous key value? In addition, I want to throw an exception to notify the user
Solution
To be honest, any such map will violate the normal map interface However, if you are willing to do so, you can easily create your own map implementation, which is delegated to another map, but only after checking the existence of existing elements:
public final class NonReplacementMap<K,V> implements Map<K,V> { private final Map<K,V> original; public NonReplacementMap(Map<K,V> original) { this.original = original; } @Override public void put(K key,V value) { if (original.containsKey(key)) { // Or whatever unchecked exception you want throw new IllegalStateException("Key already in map"); } original.put(key,value); } // etc }
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码