java集合中的retainAll方法


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。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM