集合框架List

集合框架

集合框架简介:

集合框架的由来:数据多了用对象进行存储,对象多了用集合来进行存储。
而存储数据的方式(数据结构)各有不同,所以存储的容器也就有多种,
从而形成了集合框架这一体系。
如下图:
集合框架List

Collection方法、迭代器

集合框架List
集合框架List

集合框架List(ArrayList特有方法)

List:凡是可以操作角标的方法都是该体系所特有的方法
增 Add(index,element)
集合框架List
删 Remove(index)
集合框架List
改Set(index,element)
集合框架List
查Get(index)
集合框架List

集合框架List(特有迭代器)

list集合所特有的迭代器,ListIterator是Iterator的子接口
在迭代时,不可以通过集合对象的方法操作集合中的元素;
因为会发生并发修改异常(ConcurrentModificationException);
所以,在迭代时,只能通过迭代器来操作元素,课时Iterator的方
法是有限的,Iterator只提供了判断。
集合框架List
集合框架List

集合框架List(具体对象特点)

数组结构 增删慢,查询快 有连续下标 线程不同步 增长因子为1.5

集合框架List(增长因子论证)

集合框架List

集合框架Vector(枚举)

集合框架List

集合框架LinkedList(链表的数据结构)

由于是链表结构,当前节点能够记住上一个节点、以及下一个节点,
所有有带First、last的方法存在。
集合框架List

模拟队列以及堆栈

堆栈:先进后出 例如:子弹夹
队列:先进先出 例如:水管
特有方法:addFirst(); addLast();
集合框架List
集合框架List
集合框架List

集合框架ArrayList中的重复元素去重及其底层原理

Contains调用了equals
Remove调用了equals
字符串去重
list中存储的是字符串,
而string的equals方法就是比的字符串值
引用数据类型去重(同姓名同年龄视为同一个人)

思路:
1、对人进行描述,将数据封装进对象
2、将对象放入容器
3、去重
引用数据类型被调用了equals方法验证
集合list中remove方法调用时,
调用了equals方法验证