java学习第二十二课
暑期自学来到第二十二课,本节课正式进入集合的入门内容,学习 Collection 单列集合、迭代器 Iterator。之前学过数组,数组长度固定,集合正好弥补了这个短板,可以动态保存多个对象,使用起来更加灵活。
数组长度一旦定义就不能更改,只能存基础类型或者引用类型;而集合只能存放引用类型,长度自动扩容,适合数量不确定的数据存储。集合顶层父接口是 Collection,下面分出 List、Set 两大分支。List 有序、允许元素重复;Set 无序,不能存放重复元素。
迭代器 Iterator 用来遍历集合,通过 hasNext () 判断是否还有下一个元素,next () 取出元素。遍历过程中不能直接用集合方法增删元素,否则会触发并发修改异常,如果需要删除元素,可以使用迭代器自身的 remove 方法。
练习的时候踩了不少坑。一开始容易混淆数组和集合的选用场景,习惯性想用数组存放数量变化的数据;遍历集合时忘记判断 hasNext (),直接调用 next () 出现报错;在迭代遍历途中使用集合自带 remove (),频繁碰到并发修改异常。另外刚开始分不清 List 和 Set 的基础特性,不清楚什么时候元素会重复。
简单梳理基础选择思路:数据数量固定优先数组;元素个数不确定、需要动态增减,选择集合。想要有序可重复选 List,元素不允许重复就选 Set。
这节课是集合体系的开端,概念比较多,需要理清整体继承结构。集合是之后开发非常常用的内容,我会多写遍历、增删元素的案例熟悉用法,下一节课继续学习 ArrayList 等常用实现类。

浙公网安备 33010602011771号