我有两个ArrayLists。我想比较它们,以获得常见元素的数量。或者只是一个包含常见元素的列表。
当我尝试使用CollectionUtils.retainAll执行此操作时,我认为它不知道这种方法?
它说它找不到符号"变量集合实用工具",所以它也不知道方法?还是我错了什么?
我的代码:
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);
对不起,如果这很容易。可能会是。
CollectionUtils
类是 Apache Commons Collections 库的一部分,不是 Java API 的一部分,因此默认情况下不可用。将库作为 JAR 包含在类路径中,或使用 Maven 添加它,然后导入org.apache.commons.collections4.CollectionUtils
。
您也可以使用 lijst1.retainAll(lijst2)
,但您必须稍微不同地使用它,因为ArrayList#retainAll
通过副作用起作用(也就是说,它将更新lijst1
而不是返回新集合。