나는 아래의 구조Java에서 객체의 하나의 멤버 변수를 기반으로 다른 arraylist에있는 arraylist에서 객체를 제거하려면 어떻게합니까?
class A{
private String var1;
private int var2;
private String var3;
}
내가 두 ArrayList<A> List1
다른 크기 List2
이와 POJO 클래스 A를 가지고있다. List2
에 이미있는 List1
의 모든 요소를 제거하고 var2
에 저장된 값과 관련하여이 동등성을 검사해야합니다.
나는 목록을 Hashset
으로 만들고 removeAll()
을 사용했는지 확인했습니다. 그러나 동일한 var2
의 경우 var1
값이 다르기 때문에 원하는 결과를 얻을 수 없습니다.
이 문제를 해결할 수 있도록 도와주세요.
편집 1 - 제거 항목
ListA.removeAll(new HashSet(listB));
'Compareable'구현은 어떻습니까? –
@ MuratK. 노력하고 작동하지 않습니다. 감사합니다 – hybrid
아, 확실히 작동하지만, 아마 제대로하지 않았어. 사람들이 실제로 당신을 도울 수 있도록 여기에 게시하고 싶을 수도 있습니다. –