Collection

发布时间 2023-10-21 22:37:43作者: Cheyaoyao

集合体系

img

  • 单列集合(存放的是单个对象)

    • Collection接口有两个重要的子接口List和Set,它们的实现子类都是单列集合
      img
  • 双列集合(以键值对形式存放对象)

    • Map接口的实现子类是双列集合,存放K-V
      img

数组的不足

  1. 长度开始时必须指定,一旦指定,不能更改
  2. 保存的必须为同一类型的元素
  3. 使用数组进行增加、删除元素,比较麻烦
    1. 新创建一个数组
    2. 把原数组的数据拷贝过来
    3. 添加元素

集合优点

  1. 可以动态保存任意多个对象
  2. 提供了一系列操作对象的方法:add,remove,set,get等

Collection接口

  1. 特点
    img

  2. 遍历元素方式——使用Iterator(迭代器)
    img

  3. 迭代器执行原理

  • 每调用 一次next(),就往下移一位,然后取出该元素
  • 必须与hasNext()一起用,先判断下一位是否还有元素
  • 不用hasNext(),到最后一个元素时,再使用next()会报异常NoSuchElementException
    img
    img
  • 如果需要再次遍历,需要重置迭代器
    img

增强for

  1. 增强for的底层是迭代器
  2. 可以理解为增强for就是简化版的迭代器
    img

补充:编译类型、运行类型

img

  • Object是编译类型,运行类型取决于集合中具体的对象
  • 显示所有快捷键的快捷键:Ctrl+j