目录
集合体系结构
迭代器遍历:
增强for遍历:
Lambda表达式遍历
集合体系结构
List 系列集合 : 添加元素是有序的、可重复的,有索引的;
有序的:存和取的顺序是一样的;
Set 系列集合 : 添加元素是无序的、不重复,无索引;
无序的:存和取的顺序可能是不一样的;
Collection 是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的
注意点 : Collection是一个接口
所以说,我们学习它的方法时,只能创建他的实现类对象
实现类:ArrayList
判断元素是否包含
底层是依赖equals方法进行判断对象是否存在的
如果时自定义对象,没有重写equals方法,那么默认使用Object类中的equals方法进行判断,而Object类中equals方法,依赖地址值进行判断,而我们想要比的是属性,因此需要重写equals方法
(快捷键 alt + insert)具体快捷键根据自己的设置
Collction的遍历方式(通用)
迭代器遍历:
不依赖索引
迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式
细节注意;
1.如果当前位置没有元素,还要强行获取,会报错NoSuchElementException
2.迭代器遍历完毕,指针不会复位(如果要再次历遍集合,只能再获取一个新的迭代器对象)
3.循环中只能用一次next方法
4.迭代器遍历,不能用集合的方法进行增加或删除(如果实在要删除可用迭代器提供的remove方法删除,添加暂时没有办法)
增强for遍历:
增强for的底层就是迭代器,为了简化迭代器的代码书写的。
它是JDK5之后出现的,其内部原理就是一个Iterator迭代器
所有的单列集合和数组才能用增强for进行遍历。
格式:
for(元素的数据类型 变量名: 数组或者集合){}
细节注意; 修改增强for中的变量,不会改变集合中原本的数据