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)
- 僅保留此 collection 中那些也包含在指定 collection 的元素(可選操作)。換句話說,移除此 collection 中未包含在指定 collection 中的所有元素。
2、list.retainAll(list2):1)如果集合list=list2即兩個集合元素完全一樣 返回值為false;2)list包含於list2中 返回值為false;3)其他 返回值為true。
3、實際上該方法是指:如果集合list中的元素都在集合list2中則list中的元素不做移除操作,反之如果只要有一個不在list2中則會進行移除操作。即:list進行移除操作返回值為:true反之返回值則為false。
