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;
    }
}

위의 코드에서 객체를 하나 생성해 ArrayList에 넣었는데요. 그리고 바로 똑같은 값을 넣어서 다른 객체를 만들었잖아요. contains()메소드는 두 객체가 같은지를 평가하는건가요? 생성자는 입력 값을 받는것 밖에 안하고 두 객체의 변수가 모두 동일했을때 contains()메소드가 true를 반환하도록 구현하는 방법이 있나요?

1답변

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.