私は2つの配列リストを持っています。それぞれには、Employee型のオブジェクトのリストがあります。プロパティに基づいて2つの配列リストの違いを見つける方法は?
Employeeクラスは、私は従業員IDである従業員オブジェクトのプロパティに基づいて、2つのリストの間の相違点を見つける必要があり
public class Employee {
Employee(String firstname, String lastname, String employeeId) {
this.firstname = firstname;
this.lastname = lastname;
this.employeeId = employeeId;
}
private int id; // this is the primary key from employee table
private String firstname;
private String lastname;
private String employeeId; // manually assigned unique id to each employee
// getters and setters
}
の下のように見えます。
従業員IDは、各従業員に手動で生成された一意のIDです。
平等をチェックするときにのみemployeeId
を使用するように
Employee
クラスの
import java.util.ArrayList;
import java.util.List;
public class FindDifferences {
public static void main(String args[]){
List<Employee> list1 = new ArrayList<Employee>();
List<Employee> list2 = new ArrayList<Employee>();
list1.add(new Employee("F1", "L1", "EMP01"));
list1.add(new Employee("F2", "L2", "EMP02"));
list1.add(new Employee("F3", "L3", "EMP03"));
list1.add(new Employee("F4", "L4", "EMP04"));
list1.add(new Employee("F5", "L5", "EMP05"));
list2.add(new Employee("F1", "L1", "EMP01"));
list2.add(new Employee("F2", "L2", "EMP02"));
list2.add(new Employee("F6", "L6", "EMP06"));
list2.add(new Employee("F7", "L7", "EMP07"));
list2.add(new Employee("F8", "L8", "EMP08"));
List<Employee> notPresentInList1 = new ArrayList<Employee>();
// this list should contain EMP06, EMP07 and EMP08
List<Employee> notPresentInList2= new ArrayList<Employee>();
// this list should contain EMP03, EMP04 and EMP05
}
}
オブジェクトに一貫性がない場合はどうなりますか?たとえば、list1に "F1"、 "L1"、 "EMPO1"が含まれ、list2に "F11"、 "L11"、 "EMP01"が含まれているとします。たとえキーが同じであっても、それは他のリストにないとして返されますか? –
@Disco 3.私たちは、異なる従業員IDを探しています。あなたの場合、彼らは同じと見なされます。 – ashishjmeshram
EmployeeクラスはComparableを実装する必要があります –