If you are using java 8, you can do:
ArrayList<YourClass> list1 = new ArrayList<>();
ArrayList<String> list2 = new ArrayList<>();
list1.removeIf(item -> list2.contains(item.getId()));
// now list1 contains objects whose id is not in list2
Assuming it YourClasshas a method getId()that returns String.
For java 7 use iteratoris the way to go:
Iterator<YourClass> iterator = list1.iterator();
while (iterator.hasNext()) {
if (list2.contains(iterator.next().getId())) {
iterator.remove();
}
}
source
share