나는 두 개의 정수를 저장하는 MyClass
을 가지고 있으며 은 myVector
입니다.Java : 벡터에서 사용자 정의 객체 제거
는 지금, 나는이 작업을 수행 :
...
myVector.add(new MyClass(1,1));
for(MyClass m : myVector)
System.out.println(m);
System.out.println(myVector.size());
myVector.remove(new MyClass(1,1));
for(MyClass m : myVector)
System.out.println(m);
System.out.println(myVector.size());
...
여기서 문제는 제가 벡터와 크기를 인쇄 할 때 내가 볼로 개체가 제거되지 않는 것입니다. 내가 어떻게 고칠 수 있니?
편집 : 나는 물체를 발견하지 않고 내가 확실하게 contains()
테스트 한 것을 볼 수 있습니다. 내가 필요한 것은 그것을 가치로 비교하는 것입니다. ==
연산자를 너무 많이 오버로드 할 수는 있지만이를 해결할 방법이 없습니다.
편집 2 : 좋아요, equals()
은 내가 원하는대로 할 것입니다. 하지만 hashCode 메서드를 무엇에 넣을지 잘 모르겠습니다.
편집 3 : 내가 contains()를 사용하여 찾을 수 있지만 remove는 제거하지 않습니다.
위의 코드를 제외하고, 제거 (새 MyClass에 (1,1)과 동일int position = myVector.indexOf(new MyClass(1,1));
myVector.remove(position);
가 작동하지 어떤 생각을한다) (제거 :
그래도 난 그것을 제거하려면이 옵션을 사용할 수 있습니다. ?
나는 클래스가 대문자로 시작해야하기 때문에 자유롭게 MyClass를 자본화했습니다. –
오케이, 죄송합니다. 나는 이름이 잘 못됩니다. –
PDF 읽기 hashCode()에 대한 정보는에 링크되어 있습니다. –