안녕하세요 자바의 ArrayList에서 항목을 누락 및 징수 부분에 내 손을 시도하고 있었다 찾기, 내가 두 배열 목록의이 직원 개체나는 자바에 안돼서
class Employee
{
private int emp_id;
private String name;
private List<String> mobile_numbers;
//.....getters and setters
}
이
이 listA
라고 말하고 간단한 쿼리 이 listB
는 listOfMobileNumbers
는 이제 List<String>
있는 다음 데이터
List<Employee> listA = new ArrayList<Employee>();
List<Employee> listB = new ArrayList<Employee>();
listA.add(new Employee("101", "E1", listOfMobileNumbers));
listA.add(new Employee("102", "E2", listOfMobileNumbers1));
listA.add(new Employee("103", "E3", listOfMobileNumbers2));
listA.add(new Employee("104", "E4", listOfMobileNumber4));
listA.add(new Employee("105", "E5", listOfMobileNumbers5));
listB.add(new Employee("101", "E1", listOfMobileNumbers1));
listB.add(new Employee("102", "E2", listOfMobileNumbers2));
listB.add(new Employee("106", "E6", listOfMobileNumber6));
listB.add(new Employee("107", "E7", listOfMobileNumber7));
listB.add(new Employee("108", "E8", listOfMobileNumbers8));
이 개인 목록에서 추가 요소를 찾고 싶습니다. 예 :
List<Employee> additionalDataInListA = new ArrayList<Employee>();
// this list should contain 103, 104 and 105
List<Employee> additionalDataInListB= new ArrayList<Employee>();
// this list should contain 106, 107 and 108
어떻게하면됩니까?
귀하의 도움에 감사드립니다.
편집 : 나는 내가 비교 함수의 일부 수동 기능의 종류를 쓰고 그것을 달성하려는 내부 기능을 사용하지 않으
. 내 유스 케이스에 내가 int이며 FieldNo과 List<String>
입니다 값 때문에
나는 또한 동등한 기능을 무시하지 못할.
필드의 발생은 'n'번이고 해당 필드와 연결된 값이 다를 때마다 발생합니다.
예 : FieldNo = 18 값 = [ "A"];
FieldNo = 18 값 = [ "B"]; 등등 ...
내가 사용한 직원 ID는 같음과 해시 코드를 덮어 쓰는 것이 중요합니다.
지금까지 시도한 것은 무엇입니까? '종업원'을 비교해 봤어? 반복을 목록을 통해 완료 했습니까? – thegrinner
가능한 복제본 [자바에서 유니온, 교차, 차이 및 리버스 데이터의 방법] (http://stackoverflow.com/questions/3590677/how-to-union-intersect-difference-and-reverse-data-in-java)) –
@ user2437809 lambdaj 및 hamcrest 라이브러리를 사용하여 내 솔루션을 참조하십시오 (몇 줄에서 수행 할 수 있음). –