我有一个包含几个键值列表的类。每个键(在列表中)都应该是唯一的,所以我使用 HashMap。当我在代码中的某个地方向列表中添加一个新项目时,我使用的是 HashMap 的put(K, V)
. 如果尝试添加具有现有密钥的项目,我希望我的代码抛出异常。而且,因为在程序中的许多地方都执行了这样的添加,所以我想避免在每个地方添加检查。所以应该是列表类本身不允许替换现有的键值对。
我想用我自己的扩展 HashMap 类,它会执行这样的检查并抛出异常。但是,HashMapput
不会抛出异常,所以我也不能这样做。
实现这种行为的好方法是什么?我准备用更好的东西替换 HashMap,但我需要它在添加和检索项目时都快。
更新: 感谢大家的许多好建议。由于我是 Java 的完全新手,我现在需要学习很多东西才能选择最好的:) 无论如何,我很感激能在午休时间获得这么多的选择!