文章目录
1、collection集合
1.1集合概述
集合:集合是java中提供的一种容器,可以用来存储多个数据。
集合和数组既然都是容器,他们的区别是:
1、数组的长度是固定的。集合的长度是可变的。
2、数组中存储的是同一类型的元素,可以存储基本数据类型值。集合存储的都是对象。而且对的类型可以进行存储。
1.2、collection集合概述
是单例集合的顶层接口,它表示—组对象,这些对象也称为Collection的元素
JDK不提供此接口的任何直接实现,它提供更具体的子接口(如Set和List)实现
创建Collection集合的对象
1、多态的方式
2、具体的实现类ArrayList
1.3collection集合常用方法
2、List
2.1 List集合概述和特点
List集合概述
有序集合(也称为序列),用户可以精确控制列表中每个元素的插入位置。用户可以通过整数索引访问元素,并搜索列表中的元素。
与Set集合不同,列表通常允许重复的元素
List集合特点
有序:存储和取出的元素顺序—致
可重复:存储的元素可以重复
2.2List集合特有方法
2.3并发修改异常
并发修改异常
ConcurrentModificationException
产生原因
迭代器遍历的过程中,通过集合对象修改了集合中的元素,造成了迭代器获取元素中判断预期修改值和实际修改值不一致
解决方案
for循环遍历,然后用集合对象做对应的操作即可
2.4Listlterator
Listlterator:列表迭代器
通过List集合的listlterator()方法得到,所以说它是List集合特有的迭代器
用于允许程序员沿任一方向遍历列表的列表迭代器,在迭代期间修改列表,并获取列表中迭代器的当前位置
Listlterator中的常用方法
E next):返回迭代中的下一个元素
boolean hasNext():如果迭代具有更多元素,则返回true
E previous():返回列表中的上一个元素
boolean hasPrevious():如果此列表迭代器在相反方向遍历列表时具有更多元素,则返回true
void add(E e):将指定的元素插入列表
2.5增强for循环
增强for:简化数组和Collection集合的遍历
实现lterable接口的类允许其对象成为增强型for语句的目标
它是JDK5之后出现的,其内部原理是一个lterator迭代器
增强for的格式
for(元素数据类型变量名∶数组或者Collection集合){//在此处使用变量即可,该变量就是元素}
2.6 List集合子类特点
List集合常用子类:ArrayList,LinkedList
ArrayList:底层数据结构是数组,查询快,增删慢
LinkedList:底层数据结构是链表,查询慢,增删快
2.7LinkedList集合的特有功能
3、Set
3.1 Set集合概述和特点
Set集合特点:
1、不包含重复元素的集合
2、没有带索引的方法,所以不能使用普通for循环遍历
2020080605017