ArrayList의 contains()메소드는 어떤걸 비교하나요?
조회수 20166회
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를 반환하도록 구현하는 방법이 있나요?
댓글 입력