嗨,我是 java 新手,正在尝试收集部分,我有一个简单的查询我有两个说员工对象的数组列表
class Employee
{
private int emp_id;
private String name;
private List<String> mobile_numbers;
//.....getters and setters
}
说listA
并listB
有以下数据
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));
哪里listOfMobileNumbers
是List<String>
现在我想从个人列表中找到其他元素。IE
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
我如何实现这一目标?
感谢您的帮助。
编辑:
我不想使用任何内部函数,我想编写一些手动函数类型的比较函数来实现它。
我也不能覆盖 equals 函数,因为在我的用例中我有FieldNo是 int 和Values是List<String>
.
字段的出现次数为“n”次,每次与该字段关联的值都会不同。
例如:FieldNo=18 Values=["A"];
字段编号=18 值=[“B”]; 等等...
我使用的员工 ID 仅用于说明,覆盖等号和哈希码是有意义的。