课程目标1.数据结构
1.1数据结构概述1.2栈1.3队列1.4数组1.5链表1.6红黑树 2.List集合
2.1List接口特点2.2List常用方法的使用 3.List的子类
3.1ArrayList集合3.2linkedList集合
课程目标- 掌握数据结构的特点掌握List集合的使用掌握ArrayList集合的使用熟悉linkedList集合的使用
1.数据结构
数据结构是一种数据的组织和存储形式。数据结构包含的内容:逻辑关系、应用在数据存储的、封装了对应的操作的一些列元素的集合。
1.1数据结构概述 1.2栈栈:Stack,又叫做堆栈,他是运算受限的线性表。其限制是只允许在线性表的一端进行操作(插入、删除),不允许在其他任何位置进行操作。
特点:
先进后出入口和出口都是在栈的顶端位置
名词:
压栈:往栈里面存放一个元素,存放在栈顶位置
弹栈:取元素,从栈顶取一个元素
队列,也叫对queue,运算受限的线性表,其限制是只允许在表的一端进行插入操作,在表的另一端进行删除操作。
特点:
先进先出一端进行插入操作,一端进行删除操作 1.4数组
数组,Array,是一组有序的元素列,是在内存里面开辟的一片连续的存储空间。门牌号。
特点:
增删慢查询快
增加元素:创建新数组,将原数组里面的元素按照索引存储到新数组,再在指定位置添加元素
删除元素:创建新数组,将原数组剩下的元素,按照顺序复制到新数组里面
1.5链表
链表:linkedList,由一系列的节点node组成,节点包含两部分数据和指针,存储数据的时候,数据存储在节点的数据位置,指针指向下一个节点。节点可以动态生成。
特点:
多个节点之间通过地址相关联增删元素快:
增加元素只需要修改链接下个元素的地址即可
删除元素只需要修改链接下个元素的地址
1.6红黑树
二叉树:binary tree每个节点不超过2的有序树,左边的成为“左子树”,右边的叫做“右子树”
红黑树是一种特殊的二叉查找树
特点:
查找快,趋近平衡树,查找叶子元素最少和最多不超过2倍
接口 List,有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
2.1List接口特点元素存取有序的集合元素可以重复一个带有索引的集合 2.2List常用方法的使用
boolean add(E e)
向列表的尾部添加指定的元素(可选操作)。
E get(int index)
返回列表中指定位置的元素。
E remove(int index)
移除列表中指定位置的元素(可选操作)。将所有的后续元素向左移动(将其索引减 1)。返回从列表中移除的元素。
int size()
返回列表中的元素数。如果列表包含多于 Integer.MAX_VALUE 个元素,则返回 Integer.MAX_VALUE。
set(int index, E element)
用指定元素替换列表中指定位置的元素(可选操作)。 3.List的子类 3.1ArrayList集合
数组,增删慢,查找快
不要一味的使用ArrayList
List 接口的链接列表实现(双向链表),增删快,查找慢
特有方法
public void addFirst(E e)将指定元素插入此列表的开头。public void addLast(E e)将指定元素添加到此列表的结尾。public E getFirst()返回此列表的第一个元素。public E getLast()返回此列表的最后一个元素。public E poll()获取并移除此列表的头(第一个元素)



