Ho due liste di array. Ciascuno ha una lista di oggetti di tipo Employee.Come trovare le differenze tra due liste di array in base a una proprietà?
La classe Employee si presenta come di seguito
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
}
Ho bisogno di trovare le differenze tra le due liste sulla base di una proprietà dell'oggetto dipendente che è dipendente id.
L'id del dipendente viene generato manualmente, un ID univoco assegnato a ciascun dipendente.
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
}
}
Cosa succede se i tuoi oggetti non sono coerenti? Ad esempio, se la lista1 contiene ("F1", "L1", "EMPO1") e la lista 2 contiene ("F11", "L11", "EMP01"). Verrà restituito come non in un'altra lista, anche se la chiave è la stessa? –
@Disco 3. Stiamo solo cercando un ID dipendente diverso. Nel tuo caso sarebbero visti come gli stessi. – ashishjmeshram
La classe Employee dovrà implementare Comparable –