Comment comparer deux tableau liste pour des objets qui diffèrent par au moins une propriété en java?

J'ai deux liste de tableau. Chacune dispose d'une liste d'Objets de type Utilisateur.

L'Utilisateur de la classe ressemble à ci-dessous

    public class User {
private long id;
private String empCode;
private String firstname;
private String lastname;
private String email;
public User( String firstname, String lastname, String empCode, String email) {
super();
this.empCode = empCode;
this.firstname = firstname;
this.lastname = lastname;
this.email = email;
}
//getters and setters
}
import java.util.ArrayList;
import java.util.List;
public class FindSimilarUsersWithAtLeastOneDifferentProperty {
/**
* @param args
*/
public static void main(String[] args) {
//TODO Auto-generated method stub
List<User> list1 = new ArrayList<User>();
list1.add(new User("F11", "L1", "EMP01", "[email protected]"));
list1.add(new User("F2", "L2", "EMP02", "[email protected]"));
list1.add(new User("F3", "L3", "EMP03", "[email protected]"));
list1.add(new User("F4", "L4", "EMP04", "[email protected]"));
list1.add(new User("F5", "L5", "EMP05", "[email protected]"));
list1.add(new User("F9", "L9", "EMP09", "[email protected]"));
list1.add(new User("F10", "L10", "EMP10", "[email protected]"));
List<User> list2 = new ArrayList<User>();
list2.add(new User("F1", "L1", "EMP01", "[email protected]"));
list2.add(new User("F2", "L2", "EMP02", "[email protected]"));
list2.add(new User("F6", "L6", "EMP06", "[email protected]"));
list2.add(new User("F7", "L7", "EMP07", "[email protected]"));
list2.add(new User("F8", "L8", "EMP08", "[email protected]"));
list2.add(new User("F9", "L9", "EMP09", "[email protected]"));
list2.add(new User("F100", "L100", "EMP10", "[email protected]"));
List<User> resultList = new ArrayList<User>();
//this list should contain following users
//EMP01 (common in both list but differs in firstname)
//EMP02 (common in both list but differs in email)
//EMP10 (common in both list but differs in firstname, lastname and email)
}
}

Si vous voyez le code d'exemple, les deux listes ont quatre utilisateurs avec emp code EMP01, EMP02, EMP09 et EMP10 commun.

Donc, nous avons seulement besoin de comparer les propriétés de ces quatre utilisateurs.

Si l'un des utilisateurs ont au moins une propriété différente, elle doit être ajoutée dans la liste des résultats.

Veuillez vous informer sur comment puis-je aller à ce sujet?

  • Le resutList contiennent à la fois de l'utilisateur similaire?
  • Gurung. Non seulement les utilisateurs de la liste 1.
  • Quel est le empcode, doivent-ils correspondre?
  • Gurung. Nous avons besoin de comparer les utilisateurs de correspondance emp codes seulement. Donc, si la liste 1 a emp de code à e1 et liste 2 ont également emp de code à e1, alors seulement nous avons besoin de comparer leurs propriétés. Si emp codes diffèrent même avec le même nom, ils ne devraient pas être égalé. Donc, il suffit de voir les deux listes, à voir les emp codes, puis de comparer leurs prioperties.