Although the List interface does not contain the equals method, list classes can (and still) implement the equals method.
From the API docs to AbstractList (inherited e.g. ArrayList , LinkedList , Vector ):
public boolean equals(Object o)
Compares the specified object with this list for equality. Returns true if and only if the specified object is also a list, both lists are the same size, and all the corresponding pairs of elements in two lists are equal.
The same applies, for example, to toString , hashCode , etc.
As @Pascal notes in the comments, the List interface refers to the equals method and points out the following in the documentation:
The List interface sets additional conditions, in addition to those specified in the Collection interface, in iterator contracts, add, remove, equals and hashCode.
source share