集合中的containsKey,containsValue,contains,containsAll方法使用注意

常用的 HashMap 的containsKey,containsValue 方法:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
常用的 ArrayList 的 contains,containsAll 方法:
在这里插入图片描述
注意的是,containsAll 方法是在 AbstractCollection 抽象类中。
在这里插入图片描述 通过查看源码,可以看到在这些方法中,均是通过调用了 object 的 equals 方法进行比较,但是如果传入的 object 未重写 equals 和 hashcode 方法,将比较对象的地址,最终会导致结果为 false,需要注意如果只想比较值相等的情况,集合中的元素必须重写 equals 和 hashcode 方法。