Mar*_*ark 2 java arraylist duplicates array-merge
假设我有2个ArrayList of Points:
(0,2)->(0,3)->(0,4)(0,2)->(0,3)->(0,6)我想获得一个新列表: (0,2)->(0,3)
我怎么做?
当前解决方案
使用两个foreach循环逐个元素地比较两个列表.我认为这是一种非常低效的方式.还有其他方法吗?
您可以使用以下List#retainAll(Collection<?> c)方法:
仅保留此列表中包含在指定集合中的元素(可选操作).换句话说,从该列表中删除未包含在指定集合中的所有元素.
List<Point> first = ...
List<Point> second = ...
first.retainAll(second);
Run Code Online (Sandbox Code Playgroud)