美文网首页
retainAll()方法

retainAll()方法

作者: xiaoliman | 来源:发表于2017-08-12 15:12 被阅读0次

    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);
            
        }
    }
    
    

    相关文章

      网友评论

          本文标题:retainAll()方法

          本文链接:https://www.haomeiwen.com/subject/auhjrxtx.html