Android : Compare two ArrayList of objects and find unmatching ids from the second ArrayList

android, arraylist, compare, object, pojo

Solution

You can use an inner loop, to check if the Person's id from `arrayList2` corresponds to any Person id in the `arrayList1`. You'll need a flag to mark if some Person was found.

ArrayList<Integer> results = new ArrayList<>();

// Loop arrayList2 items
for (Person person2 : arrayList2) {
    // Loop arrayList1 items
    boolean found = false;
    for (Person person1 : arrayList1) {
        if (person2.id == person1.id) {
            found = true;
        }
    }
    if (!found) {
        results.add(person2.id);
    }
}

Problem

I want to compare two ArrayList of objects and find the unmatching values from the second ArrayList based on the ids in the object. For Example: Person.java ``` private int id; private String name; private String place; ``` MainActivity.java: ``` ArrayList<Person> arrayList1 = new ArrayList<Person>(); arrayList1.add(new Person(1,"name","place")); arrayList1.add(new Person(2,"name","place")); arrayList1.add(new Person(3,"name","place")); ArrayList<Person> arrayList2 = new ArrayList<Person>(); arrayList2.add(new Person(1,"name","place")); arrayList2.add(new Person(3,"name","place")); arrayList2.add(new Person(5,"name","place")); arrayList2.add(new Person(6,"name","place")); ``` I want to compare the arrayList1, arrayList2 and need to find the unmatching values from the arrayList2. I need the id values 5,6. How can I do this?

Original source