以下实例演示了如何使用 retainAll () 方法来删除包含在另外一个数组中的数组元素:
此处说明有些拗口,可以简单的理解为:有两个数组,其中A数组里面有B数组的全部内容,而B数组有A数组没有的内容(也就是说数组B包含数组A),B数组的retainAll()方法可以传入数组A,这样就可以删除B数组里面所有A数组的成分了。
换种说法,retainAll()方法是删除一批元素,而这批元素是以数组的形式传递进去的。
/* author by voidme.com 文件名:Main.java */ import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList objArray = new ArrayList(); ArrayList objArray2 = new ArrayList(); objArray2.add(0,"common1"); objArray2.add(1,"common2"); objArray2.add(2,"notcommon"); objArray2.add(3,"notcommon1"); objArray.add(0,"common1"); objArray.add(1,"common2"); objArray.add(2,"notcommon2"); System.out.println("array1 数组元素:"+objArray); System.out.println("array2 数组元素:"+objArray2); objArray.retainAll(objArray2); System.out.println("array2 & array1 数组交集为:"+objArray); } }
以上代码运行输出结果为:
array1 数组元素:[common1, common2, notcommon2] array2 数组元素:[common1, common2, notcommon, notcommon1] array2 & array1 数组交集为:[common1, common2]