If the actual implementation is Listfully consistent with the interface, the implementation hashCodeshould be sufficient:
Returns the hash code value for this list. The hash code of the list is determined as the result of the following calculation:
hashCode = 1;
Iterator i = list.iterator();
while (i.hasNext()) {
Object obj = i.next();
hashCode = 31*hashCode + (obj==null ? 0 : obj.hashCode());
}
( List of documentation )
List equals . , hashCode