Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在.containsKey(对象)仅使用.equals(对象)进行检查的情况下,是否存在映射的实现?_Java_Dictionary - Fatal编程技术网

Java 在.containsKey(对象)仅使用.equals(对象)进行检查的情况下,是否存在映射的实现?

Java 在.containsKey(对象)仅使用.equals(对象)进行检查的情况下,是否存在映射的实现?,java,dictionary,Java,Dictionary,我正在使用HashMap,这时我意识到它正在放置重复的键。HashMap键属于我创建的对象类型,它覆盖了.equals方法。我希望HashMap只通过.equals方法检查重复的键,但显然不是这样。我发布这个问题的那一刻,我就找到了Java字典,这正是我想要的;仅实现用于检查密钥的.equals方法 编辑:显然Dictionary是一个抽象类,所以我不能像Luiggi提到的那样实例化Dictionary。因此,我没有其他方法,只能重写键对象的.hashCode方法如果重写equals,那么也应该

我正在使用HashMap,这时我意识到它正在放置重复的键。HashMap键属于我创建的对象类型,它覆盖了.equals方法。我希望HashMap只通过.equals方法检查重复的键,但显然不是这样。

我发布这个问题的那一刻,我就找到了Java字典,这正是我想要的;仅实现用于检查密钥的.equals方法

编辑:显然Dictionary是一个抽象类,所以我不能像Luiggi提到的那样实例化Dictionary。因此,我没有其他方法,只能重写键对象的.hashCode方法

如果重写equals,那么也应该重写hashCode…java.util.Dictionary是一个抽象类,它的实现是java.util.Hashtable,类似于HashMap,它使用hashCode和equals。另外,当一个类用粗体字告诉你它已经过时时,不要忽略这个警告,无论如何都要尝试使用它。