• java集合专题_集合体系介绍_集合遍历(1)


    集合体系图

    我们为啥要学集合呢?
    集合顾名思义就是存放了一组数据的集合嘛!
    java集合也是如此,我们之前是通过数组的方式存取一组数据!
    数组的缺点:

    • 一个数组只能保存同一类型的数据
    • 固定的初始化容量,容量不够需要进行扩列
    • 增删操作效率低,并且需要自己实现并且移动数组中的元素

    集合优点:

    • 一个集合可以保存多种类型的数据
    • 可以动态添加删除元素
    • 内置了很多高效的方法供我们进行增删改查

    集合框架下最主要的接口就是List,Set,Map
    我们把这3个接口及其常用子类学习就学会了集合框架的使用!
    难点就是自己分析这些类的方法源码,进而加深对集合框架的理解!

    集合体系图
    在这里插入图片描述
    主要学习上述列列举到的接口和类就差不多了!

    List Set 接口都是实现了Collection接口而Collection接口又实现了Iterable接口
    Map接口自成一派!
    为啥这样呢?
    ListSet 存取的是单个元素(单列集合)
    Map保存的是键值对!(双列集合)

    Collections接口方法

    我们看到Collection接口实现了Iterable接口!
    所以Colleciton接口实现了Iterable下的所有方法!
    ListSet接口又实习了Collection所有方法

    在这里插入图片描述

    Iterable接口方法

    iterator()方法
    返回一个Iterator迭代器
    可以通过这个迭代器对集合进行遍历
    在这里插入图片描述
    这个迭代器下有3个方法!
    hasNext()
    next()
    remove()
    在这里插入图片描述
    叠带器迭代的方式类似于指针遍历,通过hashNext()判断指针是否走到集合末尾,next()返回迭代器中的下一个元素!
    一般用于集合遍历

    public class Collection_ {
        public static void main(String[] args) {
            Collection collection = new ArrayList();
            //增加
            collection.add(1);
            collection.add("1234");
            //删除1
            collection.remove(1);
            //获取长度
            System.out.println(collection.size());
            //获取到迭代器进行遍历
            Iterator iterator = collection.iterator();
            while (iterator.hasNext()){
                Object next = iterator.next();
                System.out.print(" next:"+next);
            }
    
        }
    }
    
    

    集合遍历方式

    这里的ListSet集合有3种遍历方式!

    • iterator迭代器遍历
    • 增强for循环遍历
    • 普通for循环遍历

    由于我们的Collection接口没有get()方法就无法进行普通for循环遍历!

    public class Collection_ {
        public static void main(String[] args) {
            Collection collection = new ArrayList();
            for (int i = 0; i < 10; i++) {
                collection.add(i);
            }
            //获取到迭代器进行遍历
            System.out.println("迭代器遍历");
            Iterator iterator = collection.iterator();
            while (iterator.hasNext()){
                Object next = iterator.next();
                System.out.print(" "+next);
            }
            System.out.println("\n增强for遍历");
            for (Object object :collection) {
                System.out.print(object+" ");
            }
    
        }
    }
    

    在这里插入图片描述

  • 相关阅读:
    声网深度学习时序编码器的资源预测实践丨Dev for Dev 专栏
    详细Ubuntu16~20TLS安装NVIDIA驱动教程
    Nginx两个反向代理实例
    基于STAN的风力发电预测(Python代码实现)
    基于javaweb的在线化妆品商城系统(java+ssm+jsp+js+bootstrap+mysql)
    盲盒电商模式:神秘感+趣味性,轻松实现社交购物
    如何把图片分辨率调低?如何调整照片的分辨率?
    JDK21更新内容:临时变量
    2021-01-01 - Review代码过程感悟
    类与对象(二)----对象详解
  • 原文地址:https://blog.csdn.net/weixin_52345071/article/details/126851287