Скажем, я создаю один объект и добавляю его в свой ArrayList. Если я затем создам другой объект с точно таким же входом конструктора, будет ли метод contains() оценивать два объекта одинаковыми? Предположим, что конструктор не делает ничего смешного с входом, а переменные, хранящиеся в обоих объектах, идентичны.
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;
    }
}
Это как class должно быть реализовано, чтобы contains() возвращал true?
