我想比较两个对象的ArrayList并根据对象中的ID从第二个ArrayList中查找不匹配的值。
例如:
人.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"));
我想比较arrayList1,arrayList2,并且需要从arrayList2查找不匹配的值。
我需要id值5,6。
我怎样才能做到这一点?
最佳答案
您可以使用一个内部循环来检查arrayList2
中的Person ID是否对应于arrayList1
中的任何Person ID。您将需要一个标志来标记是否找到了某人。
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);
}
}
关于Android : Compare two ArrayList of objects and find unmatching ids from the second ArrayList,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28582099/