Java containsValue vs Hashtable的contains方法

Java containsValue vs Hashtable的contains方法,java,Java,containsValue和Hashtable的contains方法有什么区别 没有。我的 如果此哈希表将一个或多个键映射到此值,则返回true。 请注意,此方法在功能上与包含的(在地图界面之前)相同。 所以您可以使用其中任何一种,我更喜欢containsValue(),因为它更容易解释,但这就是我 同一事物有两种不同方法的原因是哈希表实现了映射接口。我不知道您是否已经使用过接口,但是实现接口的所有类都需要在该接口中定义所有方法。所以,因为Map对boolean containsValue(对象

containsValue和Hashtable的contains方法有什么区别
没有。我的

如果此哈希表将一个或多个键映射到此值,则返回true。 请注意,此方法在功能上与
包含的
(在地图界面之前)相同。

所以您可以使用其中任何一种,我更喜欢
containsValue()
,因为它更容易解释,但这就是我

同一事物有两种不同方法的原因是
哈希表
实现了
映射
接口。我不知道您是否已经使用过接口,但是实现接口的所有类都需要在该接口中定义所有方法。所以,因为
Map
boolean containsValue(对象值)有一个定义
任何
实现它的类(如
哈希表
)也必须具有该方法。这就是
containsValue()
存在的原因


那么为什么我们还要有
contains()
?这是因为
contains()
甚至在
Map
接口存在之前就已经存在了(请参见上面的文档片段)
contains()
排在第一位,这就是它拥有所有功能的原因。当添加
Map
接口时,类必须添加
containsValue()
方法,并且他们不想复制
contains
方法中已经存在的代码,所以他们只调用了它。

如果您阅读了
contains()
的完整文档,您将看到

请注意,此方法在功能上与containsValue(它是集合框架中映射接口的一部分)相同


它们是一样的。如果您不相信文档,请查看(第314行):


从文档中看,它们看起来是一样的。谢谢你的解释,但是对于同一个问题,使用两种不同的方法有什么意义呢functionality@SumanthL我添加了一个解释,我希望它有意义。
public boolean containsValue(Object value) {
    return contains(value);
}