Java 如何获取一个ArrayList中与另一个ArrayList相比额外的项目列表?

Java 如何获取一个ArrayList中与另一个ArrayList相比额外的项目列表?,java,arrays,arraylist,Java,Arrays,Arraylist,我有两个带有以下项目的ArrayList ArrayList1 {"bc.jpg","12.jpg","xy.png","123.gif","ref.gif","gef.png","abc.jpg"} ArrayList2 {"tt.jpg","12.jpg","xy.png","gef.png","abc.jpg"} 列表中的项目可能无法排序 是否有一个函数可以查找ArrayList 1(“bc.jpg”、“123.gif”、“ref.gif”)中不在ArrayList 2中的额

我有两个带有以下项目的ArrayList

ArrayList1    {"bc.jpg","12.jpg","xy.png","123.gif","ref.gif","gef.png","abc.jpg"}

ArrayList2   {"tt.jpg","12.jpg","xy.png","gef.png","abc.jpg"}
列表中的项目可能无法排序

是否有一个函数可以查找ArrayList 1(“bc.jpg”、“123.gif”、“ref.gif”)中不在ArrayList 2中的额外项?

Set copy=new HashSet(列表1);
Set<String> copy = new HashSet<String>(list1);
copy.removeAll(list2);
System.out.println(copy);
复制.removeAll(列表2); 系统输出打印号(复印件);

如果需要保留重复项的顺序和基数,可以使用List/ArrayList而不是Set/HashSet,但效率较低。

SO community优于Google search;)副本不需要是一个集合--removeAll在集合中--但是如果列表可能很长的话,这是有意义的。谢谢,它工作了。。但是我使用了ArrayList而不是HashSet来避免强制转换。。标记为正确。。