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