Collection中带有All结尾的常用API详解

Posted 80dream

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collection中带有All结尾的常用API详解相关的知识,希望对你有一定的参考价值。

Collection中带有All结尾的常用API有四种:addAll(),removeAll(),containsAll() 和 retainAll()

详解:

假设现有2个List对象,分别为list1和list2

一、addAll()

list1.addAll(list2)

将list2中的所有元素都添加到list1中。list1元素有变,list2元素没变。

 

二、removeAll()

list1.removeAll(list2)

首先list1与list2先取交集,然后删除list1中的交集元素,接着将删除交集后的list1重新赋给list1。list1元素有变,list2元素不变。

 

三、containsAll()

boolean flag = list1.containAll(list2)

判断list1中是否包含list2中的所有元素,若包含返回true,否则返回false 。

 

四、retainAll()

boolean flag = list1.retainAll(list2)

该方法是取2个集合的交集。首先list1和list2取到交集,将交集赋给list1,如果list1集合元素组成发生了变化,那么就返回true,否则返回false。

特殊情况:若list1和list2两个集合完全相同,list1和list2的交集就是他们本身,把交集赋给list1时,list1没有发生任何的变化,所以返回false。

简而言之:若retainAll()中list1发生变化,就返回 true,不发生变化就返回false 。

 

脑补:

高级Java开发工程师,面试过程中经常会遇到这样的面试题 “怎样快速获取2个List集合的交集?”,相信您肯定遇到过,答案就是用到List对象的retailAll()方法。

以上是关于Collection中带有All结尾的常用API详解的主要内容,如果未能解决你的问题,请参考以下文章

Java常用api(util)

JAVA-初步认识-常用对象API(集合框架-Map集合特点常用方法)

用find和xargs处理文件名中带空格的文件

Java Collection API

二十三PHP框架Laravel学习笔记——集合的常用方法

JAVA-初步认识-常用对象API(集合框架-List集合的常用方法)