• Collection接口常用方法


    Collection接口实现类的特点

    public interface Collection extends Iterable

    1.collection实现子类可以存放多个元素,每个元素可以是Object
    2.有些Collection的实现类,可以存放重复的元素,有些不可以
    3.有些Collection的实现类,有些是有序的(List),有些不是有序(Set)
    4.Collection 接口没有直接的实现子类,是通过它的子类接口Set和List来实现的

    Collection接口和常用方法

    Collection接口常用方法,以实现子类ArrayList

    1.add:添加单个元素
    2.remove:删除指定元素
    3.contains:查找元素是否存在
    4.size:获取元素个数
    5.isEmpty:判断是否为控股
    6.clear:清空
    7.addAll:添加多个元素
    8.containsAll:查找多个元素是否都存在
    9.removeAll:删除多个元素
    10.说明: 以 ArrayList实现类来演示

    
    public class CollectionMethod {
        @SuppressWarnings({"all"})
        public static void main(String[] args) {
            List list = new ArrayList();
            //1.add:添加单个元素
            list.add("jack");
            list.add(10);//list.add(new Integer(10))
            list.add(true);
            System.out.println("list="+list);
            //2.remove:删除指定元素
           //list.remove(0);//删除第一个元素
            list.remove("jack");//指定删除某个元素
            System.out.println("list="+list);
            //3.contains:查找元素是否存在
            System.out.println(list.contains("jack"));//t
            //4.size:获取元素个数
            System.out.println(list.size());//2
            //5.isEmpty:判断是否为控股
            System.out.println(list.isEmpty());//f
            //6.clear:清空
            list.clear();
            System.out.println("list="+list);//list=[]
            //7.addAll:添加多个元素
            ArrayList list2 = new ArrayList();
            list2.add("红楼梦");
            list2.add("三国演义");
            list.addAll(list2);
            System.out.println("list="+list);
            //8.containsAll:查找多个元素是否都存在
            System.out.println(list.containsAll(list2));//t
            //9.removeAll:删除多个元素
            list.add("聊斋");
            list.removeAll(list2);
            System.out.println("list="+list);//[聊斋]
    
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    Collection接口遍历元素方式1 -使用Iterator(迭代器)

    基本介绍

    1.Iterator对象称为迭代器,主要用于遍历Collection 集合中的元素。
    2.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个
    实现了Iterator接口的对象,既可以返回一个迭代器。
    3.Iterator 的接口
    4.Iterator 仅用于遍历集合,Iterator 本身并不存放对象

    提示:在调用iterator.next()方法之前必须要调用iterator.hasNext()进行检测。
    若不调用,且下一个记录无效,直接调用it.next()会抛出
    NoSuchElementException异常

    
    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Iterator;
    
    public class CollectionIterator {
        @SuppressWarnings({"all"})
        public static void main(String[] args) {
            Collection col = new ArrayList();
            col.add(new Book("三国演义","罗贯中",10.1));
            col.add(new Book("小李飞刀","古龙",5.1));
            col.add(new Book("红楼梦","曹雪芹",34.3));
            //System.out.println("col="+col);
            //遍历col集合
            //1.先得到col对应的 迭代器
            Iterator iterator = col.iterator();
            //2.使用while 循环遍历即可
            while(iterator.hasNext()){//判断是否还有数据
                //返回下一个元素,类型是Object
                Object obj = iterator.next();
                System.out.println("obj="+obj);
            }
            //3.当退出while循环后,这时iterator迭代器,指向最后的迭代器
           // iterator.next();//NoSuchElementException
            //4.如果希望再次遍历,需要重置迭代器
            iterator=col.iterator();
            System.out.println("==第二次遍历==");
            while (iterator.hasNext()) {
                Object obj =  iterator.next();
                System.out.println("obj="+obj);
            }
        }
    }
    
    
    class Book{
        private String s1;
        private String s2;
        private double d1;
    
        public Book(String s1, String s2, double d1) {
            this.s1 = s1;
            this.s2 = s2;
            this.d1 = d1;
        }
    
        public String getS1() {
            return s1;
        }
    
        public void setS1(String s1) {
            this.s1 = s1;
        }
    
        public String getS2() {
            return s2;
        }
    
        public void setS2(String s2) {
            this.s2 = s2;
        }
    
        public double getD1() {
            return d1;
        }
    
        public void setD1(double d1) {
            this.d1 = d1;
        }
    
    
        @Override
        public String toString() {
            return
                    "s1='" + s1 + '\'' +
                    ", s2='" + s2 + '\'' +
                    ", d1=" + d1;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
  • 相关阅读:
    ContentServiceImpl
    多层级数据的定时任务
    XML解析
    2023下半年 系统架构师常考概念
    青少年软件编程C++二级题库(31-40)
    前端基础建设与架构06 core-js 及垫片理念:设计一个“最完美”的 Polyfill 方案
    【redis-03】redis注解的使用解析
    2022网络搭建国赛题中的一道路由与交接题目解析
    生产环境 /dev/vda1文件满了导致redis无法写入问题分析 以及df -h解析
    net中winform教程 ListView控件如何实现分组?
  • 原文地址:https://blog.csdn.net/weixin_55086241/article/details/128080959