Поскольку класс ArrayList уже оборачивает массив, вы можете расширить его и переопределить методы equals
и hashCode
.Вот пример:
public MyArrayList extends ArrayList<MyClass> {
@Override
public boolean equals(Object o) {
if (o instanceof MyArrayList) {
//place your comparison logic here
return true;
}
return false;
}
@Override
public int hashCode() {
//just a sample, you can place your own code
return super.hashCode();
}
}
ОБНОВЛЕНИЕ:
Вы можете даже переопределить его для общего использования, просто изменив код на:
public MyArrayList<T> extends ArrayList<T> {
//overrides the methods you need
@Override
public boolean equals(Object o) {
if (o instanceof MyArrayList) {
//place your comparison logic here
return true;
}
return false;
}
}