1.Collection单列集合
-1List -2.Set
集合:单列集合,双列集合 Collextion:是一个接口 Collextion 集合-单列集合:1.List集合 2.Set集合 List:添加的元素是有序的,可重复的,有索引 Set: 添加的元素是无序的,不重复,无索引 ### 数组和集合的区别【理解】 - 相同点 都是容器,可以存储多个数据 - 不同点 - 数组的长度是不可变的,集合的长度是可变的 - 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类
1.List集合的基本特性
## 2.List集合 ### 2.1List集合的概述和特点【记忆】 - List集合的概述 - 有序集合,这里的有序指的是存取顺序 - 用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素 - 与Set集合不同,列表通常允许重复的元素 - List集合的特点 - 存取有序 - 可以重复 - 有索引 ### 2.2List集合的特有方法【应用】 - 方法介绍 | 方法名 | 描述 | | ------------------------------- | -------------------------------------- | | void add(int index,E element) | 在此集合中的指定位置插入指定的元素 | | E remove(int index) | 删除指定索引处的元素,返回被删除的元素 | | E set(int index,E element) | 修改指定索引处的元素,返回被修改的元素 | | E get(int index) | 返回指定索引处的元素 | - List集合的五种遍历方式 1.迭代器遍历 2.列表迭代器 3.增强for循环 4.lambda表达式 5.普通for循环(List)有索引
### 3.1数据结构之栈和队列【记忆】 - 栈 结构 先进后出 - 队列 结构 先进先出 ### 3.2数据结构之数组和链表【记忆】 - 数组 结构 查询快、增删慢 - 队列 结构 查询慢、增删快 ## 4.List集合的实现类 ### 4.1List集合子类的特点【记忆】 - ArrayList集合-数组集合 底层是数组结构实现,查询快、增删慢 - LinkedList集合-链表集合 底层是链表结构实现,查询慢、增删快 ### 4.2LinkedList集合的特有功能【应用】 - 特有方法 | 方法名 | 说明 | | ------------------------- | -------------------------------- | | public void addFirst(E e) | 在该列表开头插入指定的元素 | | public void addLast(E e) | 将指定的元素追加到此列表的末尾 | | public E getFirst() | 返回此列表中的第一个元素 | | public E getLast() | 返回此列表中的最后一个元素 | | public E removeFirst() | 从此列表中删除并返回第一个元素 | | public E removeLast() | 从此列表中删除并返回最后一个元素 |
2.Set集合基本特性
1. 如果想要集合中的元素可重复 - 用ArrayList集合,基于数组的。(用的最多) 2. 如果想要集合中的元素可重复,而且当前的增删操作明显多于查询 - 用LinkedList集合,基于链表的。 3. 如果想对集合中的元素去重 - 用HashSet集合,基于哈希表的。(用的最多) 4. 如果想对集合中的元素去重,而且保证存取顺序 - 用LinkedHashSet集合,基于哈希表和双链表,效率低于HashSet。 5. 如果想对集合中的元素进行排序 - 用TreeSet集合,基于红黑树。后续也可以用List集合实现排序。