0
두 개체가 있는데 둘 다 비교할 필 수 4 개의 유사한 필드가 있습니다. 다른 원본에서 개체 목록으로 가져옵니다. 두 필드에 일치하는 하나 이상의 개체가 있는지 확인하고 싶습니다. 동일한 필드가있는 것과 같습니다. 문제는 서로 다른 순서 일 수 있다는 것입니다. 내가 루프다른 개체의 2 목록의 여러 필드 비교
나는 아무것도 존재하지 않는 경우, 오브젝트 1에서 모두 같은 필드가 적어도 하나 명의 일치하는 행이 있는지 확인하기 위해리스트 2의 모든 반복 기본적으로for(Object1 object1 : list1){
bool match = false;
for(Object2 object2 : list2){
if(object1.getField1().equal(object2.getField1()) && etc etc..){
match = true;
break;
}
}
if(!match)
return false
}
return true;
두 가지를 가지고 어디 그럼이 코드를 가지고 false를 반환하면 일치하는 행이 있으면 list1의 모든 행을 검사 할 때까지 다음 행으로 이동합니다.
이 검사 방법이 마음에 들지 않아 검사가 쉬운 방법이 있는지 궁금합니다. 내가 자바 8 스트림을 사용하여 들었지만이 시나리오에서 사용하는 방법을 생각할 수 없습니다. 어떤 도움이라도 대단히 감사하겠습니다. 감사합니다.
당신이 목록의 각 객체를 정의하는 클래스를 작성 했습니까? –
@BillHorvath, 혼란 스럽네요, 객체 중 하나의 toString을 의미합니까? 또는 클래스에서 각 객체를 가져 오는 클래스? – anonuser1234
죄송합니다. 명확하지 않은 경우. 목록의 각 개체는 네 개의 필드가있는 클래스의 인스턴스입니다. 수업을 썼니? 또는 java.util, org.springframework 등과 같은 라이브러리에서 가져온 것입니까? –