ArrayList의 contains()메소드는 어떤걸 비교하나요?

조회수 20240회
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 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)