2017-01-26 14 views
0

У меня есть два списка ArrayLists. Я хочу сравнить их, чтобы получить количество общих элементов. Или просто список с общими элементами.CollectionUtils.retainAll метод не работает (Java)

Когда я пытаюсь сделать это с помощью CollectionUtils.retainAll, он не знает этого метода, я думаю?

В нем говорится, что он не может найти символ «Variable CollectionUtils», поэтому он также не знает метода? Или что я не так?

Мой код:

ArrayList<String> lijst1 = new ArrayList<String>(Arrays.asList(inhoud1.split("AT"))); 
ArrayList<String> lijst2 = new ArrayList<String>(Arrays.asList(inhoud2.split("AT"))); 

ArrayList matches = CollectionUtils.retainAll(lijst1,lijst2); 

Извините, если это что-то просто. Это, вероятно, будет.

+2

Как вы импортируемые 'CollectionUtils'? –

ответ

1

Класс CollectionUtils является частью библиотеки коллекций Apache Commons и не является частью Java API, поэтому по умолчанию он недоступен. Включите библиотеку как JAR в свой путь к классам или используйте Maven для ее добавления, а затем импортируйте org.apache.commons.collections4.CollectionUtils.

Вы также можете использовать lijst1.retainAll(lijst2), но вы должны использовать его немного по-другому, так как ArrayList#retainAll актов побочных эффектов (то есть, он будет обновлять lijst1 вместо возвращения новой коллекции.

+0

Спасибо! :) Это сработало. – lakeviking