集合体系
-
单列集合(存放的是单个对象)
- Collection接口有两个重要的子接口List和Set,它们的实现子类都是单列集合
- Collection接口有两个重要的子接口List和Set,它们的实现子类都是单列集合
-
双列集合(以键值对形式存放对象)
- Map接口的实现子类是双列集合,存放K-V
- Map接口的实现子类是双列集合,存放K-V
数组的不足
- 长度开始时必须指定,一旦指定,不能更改
- 保存的必须为同一类型的元素
- 使用数组进行增加、删除元素,比较麻烦
- 新创建一个数组
- 把原数组的数据拷贝过来
- 添加元素
集合优点
- 可以动态保存任意多个对象
- 提供了一系列操作对象的方法:add,remove,set,get等
Collection接口
-
特点
-
遍历元素方式——使用Iterator(迭代器)
-
迭代器执行原理
- 每调用 一次next(),就往下移一位,然后取出该元素
- 必须与hasNext()一起用,先判断下一位是否还有元素
- 不用hasNext(),到最后一个元素时,再使用next()会报异常NoSuchElementException
- 如果需要再次遍历,需要重置迭代器
增强for
- 增强for的底层是迭代器
- 可以理解为增强for就是简化版的迭代器
补充:编译类型、运行类型
- Object是编译类型,运行类型取决于集合中具体的对象
- 显示所有快捷键的快捷键:Ctrl+j