java – 如何防止hashmap或treemap替换以前的值
发布时间:2020-12-15 05:17:29 所属栏目:Java 来源:网络整理
导读:如果已经存在,我如何防止hashmap或treemap替换先前的键值呢?另外,我想抛出异常来通知用户. 解决方法 说实话,任何这样的地图都会违反正常的地图界面.但是如果您愿意这样做,您可以轻松地创建自己的Map实现,该实现委托给另一个地图,但只有在检查现有元素的存在
如果已经存在,我如何防止hashmap或treemap替换先前的键值呢?另外,我想抛出异常来通知用户.
解决方法
说实话,任何这样的地图都会违反正常的地图界面.但是如果您愿意这样做,您可以轻松地创建自己的Map实现,该实现委托给另一个地图,但只有在检查现有元素的存在之后:
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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |