比较两个ArrayList <string>();并删除不同的元素

时间:2018-02-22 10:00:45

标签: java arraylist

我想比较两个ArrayList数组并删除不同的元素。

List<String> al1 = new ArrayList<String>();
List<String> al2 = new ArrayList<String>();

al1.add("222");

al2.add("222");
al2.add("333");

System.out.println(al1);
System.out.println(al2);

println的输出是:

[222]
[222, 333]

我想删除第二个数组中的333因为它不在第一个数组中我怎么能实现这个?

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用java.util.List.retainAll(Collection<?>)

执行此操作
public static void main(String[] args) {
   List<String> al1 = new ArrayList<String>();
   List<String> al2 = new ArrayList<String>();

   al1.add("222");

   al2.add("222");
   al2.add("333");

   al1.retainAll(al2);
   al2.retainAll(al1); // See Stultuske's comment.
   System.out.println(al1);
   System.out.println(al2);
}