Comparer 2 Java arraylists de différents objets et ajouter les lignes correspondantes à une nouvelle Liste

Nous avons besoin de comparer 2 arraylists de différents objets ayant en commun certaines des champs, puis stocker les lignes correspondantes à une nouvelle liste de tableaux. J'ai cherché des solutions, mais n'était pas en mesure d'obtenir ce dont j'ai besoin.

List<Person> personList = new ArrayList<Person>();
Person:
private String firstName;
    private String lastName;
    private String street1;
    private String street2;
    private String city;
    private String stateCode;
    private String zipCode;

List<PersonNpi> npiList = new ArrayList<PersonNpi>();
PersonNpi:
private String name;
    private String npi;
    private Address address;

Donc j'ai besoin de vérifier si la name & address in the PersonNpi object in the PersonNpiList match to a Person object in the PersonList, et si oui enregistrer le Person details + Npi to a new Arraylist<Employee>

Espère que je suis clair sur la question. S'il vous plaît laissez-moi savoir sur comment résoudre ce problème de manière efficace.

Grâce

Harry

EDIT:

J'ai besoin d'enregistrer de la non-correspondance des lignes (sur la première liste de tableaux) et d'une autre liste. Dois-je avoir une autre boucle ou je peux le faire sur la même boucle For? Quelqu'un s'il vous plaît?

  • Nous générons les objets donc pas possible de modifier les objets
  • Iterator, contains, add, equals est tout ce dont vous avez besoin
  • Assurez-vous que la commune de champs sont accessibles par une interface qui est mis en œuvre par les deux classes que vous utilisez. Vous pouvez mettre en œuvre un Comparateur sur cette interface.
InformationsquelleAutor Harry | 2012-12-04