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