¿Cómo evalúa un objeto el método contiene () de ArrayList?

Digamos que creo un objeto y lo agrego a miArrayList. Si luego creo otro objeto con exactamente la misma entrada del constructor, ¿elcontains() Qué método evaluar los dos objetos para ser el mismo? Suponga que el constructor no hace nada divertido con la entrada, y las variables almacenadas en ambos objetos son idénticas.

ArrayList<Thing> basket = new ArrayList<Thing>();  
Thing thing = new Thing(100);  
basket.add(thing);  
Thing another = new Thing(100);  
basket.contains(another); // true or false?
class Thing {  
    public int value;  

    public Thing (int x) {
        value = x;
    }

    equals (Thing x) {
        if (x.value == value) return true;
        return false;
    }
}

¿Es así como elclass debe implementarse para tenercontains() regresotrue?

Respuestas a la pregunta(9)

Su respuesta a la pregunta