2010-10-02 3 views
10
List<String> listA = new ArrayList<String>(); 
listA.add("a"); 
listA.add("b"); 
listA.add("c"); 
listA.add("d"); 



List<String> listB = new ArrayList<String>(); 
listB.add("c"); 
listB.add("d"); 
listB.add("e"); 
listB.add("f"); 

ListB содержит два элемента, которые также присутствуют в ListA ("c" и "d").Как удалить перекрывающееся содержимое одного списка из другого списка?

Есть ли чистый способ убедиться, что listB не содержит эти или любые другие перекрывающиеся элементы, которые могут уже существовать в listA?

ответ

17
listB.removeAll(listA) 

Это сделало бы ваш listB содержать только [e, f].

+1

это работает только с коробкой с основными списками типов объектов (строка и т. Д.) Для ваших собственных объектов, вам нужно определить метод object.equals, чтобы это означало что-то с вашим объектом. подробнее об этом здесь: stackoverflow.com/questions/8338326/... –

Смежные вопросы