Java List容器中与equals()方法相关的那些方法

在Java的容器类List的一些方法中,方法的执行是根据equals()方法的行为而有所不同,这些方法目前我遇到的有:

  1. contains()方法
  2. remove()方法
  3. indexOf()方法
  4. retainAll()方法
  5. removeAll()方法

Java List容器中与equals()方法相关的那些方法

Java List容器中与equals()方法相关的那些方法

如上图所示,如果我们使用Pets类继承自Object类的默认equals()方法,那么结果是false。

如果我们重写默认的equals()方法,会得到什么样的结果呢?

Java List容器中与equals()方法相关的那些方法

Java List容器中与equals()方法相关的那些方法

程序的运行结果是true。也就是说,List中这些方法的执行结果是依赖于equals()方法的判等方式,也就是如何给自定义的类设置判断两个对象相等的方法。