retainAll()方法

1.保留指定collection1中包含的所有元素
2.retainAll方法用于从collection中移除未包含在指定collection1中的所有元素。
3.语法 boolean retainAll(Collection<?> c)
4.返回值:如果集合对象由于调用retainAll方法而发生更改(删除数据),则返回 true。
5.参数:c为包含在列表中保留元素的collection对象。
示例 本示例使用List接口的实现类ArrayList,初始化一个列表对象list,并向该列表中添加3个元素,然后再初始化一个列表对象list1,并向该列表中添加两个与list列表中相同的元素,最后调用retainAll方法从列表list中移除不包含在列表list1中的元素,并输出执行结果。
6.然后再看另外一个实例代码

package com.qf.demo3;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Test2 {

    public static void main(String[] args) {
        Collection collection = new ArrayList();
        collection.add(4);
        collection.add(2);
        collection.add(8);
        Collection collection2 = new ArrayList();
        collection2.add(2);
        collection2.add("abc");
        collection2.add('a');   
        // 在调用者中  留下交集的部分
        boolean flag = collection.retainAll(collection2);
        System.out.println(flag);// 如果因为取交集删除元素了  true  没有删除元素   false
        System.out.println(collection);
        
        // Integer  charcacter  string
        
        // 遍历集合   
        // 1 
        // toArray()
        /*Object[] objects = collection2.toArray();
        for (int i = 0; i < objects.length; i++) {
            System.out.println(objects[i]);
        }
        
        // 遍历数组    还可以  集合
        for (Object object : objects) {
            System.out.println(object);
        }
        */
        // 2 增强for循环
        for (Object object : collection2) {// 一遍遍历一边删除数据  抛异常
        // ConcurrentModificationException  并发修改异常
            collection2.remove(object);
            System.out.println(object);
        }
        //3  获得迭代器
        Iterator iterator = collection2.iterator();
        // hasNext 判断是否有下一个元素
        // next 获取下一个元素 , 将指针向下移动一位
        while(iterator.hasNext()){
            Object object = iterator.next();
            iterator.remove();// 删除元素
            System.out.println(object);
        }
        System.out.println(collection2);
        
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Collection ├List │├LinkedList │├ArrayList │└Vector │└Stac...
    AndyZX阅读 892评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • 写在前面自开始在公司实习以来,经常都要用到集合框架。不仅后台要用,在前台做数据交互的时候用得也多。所以我想着是时候...
    EakonZhao阅读 3,285评论 0 12
  • 点击查看原文 Web SDK 开发手册 SDK 概述 网易云信 SDK 为 Web 应用提供一个完善的 IM 系统...
    layjoy阅读 13,898评论 0 15
  • 一直记得一句话:陪伴,是最长情的告白!初次听到,心底便暖流肆意。是啊!爱,不一定要高调表白,也不一定要无骨缠绵,安...
    李溪苒阅读 340评论 0 0