import java.util.ArrayList;
public class RetainAllDemo {
public static boolean compare(int[] arr1,int[] arr2){
ArrayList<Integer> list1=new ArrayList<>();
ArrayList<Integer> list2=new ArrayList<>();
for(int a:arr1){
list1.add(a);
}
for(int b:arr2){
list2.add(b);
}
// System.out.println(list1.retainAll(list2));
return list1.retainAll(list2);//list1中6,5不在list2中执行该方法时进行了移除操作返回true,如果将arr1改为{1,2,3,4},执行该方法无需进行移除操作返回false;
}
public static void main(String[] args) {
int[] arr1={1,2,3,4,6,5};
int[] arr2={1,2,3,4,53};
boolean b=compare(arr1,arr2);
System.out.println(".....:"+b);
}
}
1、boolean retainAll(Collection<?> c)
2、list.retainAll(list2):1)如果集合list=list2即两个集合元素完全一样 返回值为false;2)list包含于list2中 返回值为false;3)其他 返回值为true。
3、实际上该方法是指:如果集合list中的元素都在集合list2中则list中的元素不做移除操作,反之如果只要有一个不在list2中则会进行移除操作。即:list进行移除操作返回值为:true反之返回值则为false。
原文:http://www.cnblogs.com/lee20151021/p/4899683.html