程序=数据结构+算法 数据结构的划分: 1、线性表结构: |-栈 |-队列 |-数组 |-链表 2、树型结构 二叉树 .... 3、图结构 4、堆结构 5、散列表结构 线性表结构-栈和队列 栈结构: 先进后出,后进先出。 队列: 先进先出,后进后出。 线性表结构-数组和链表 数组: 有索引,查询速度快,增删速度慢。 链表: 没有索引,每个链表元素都至少有一个指向前一个或后一个元素地址的指针。 List集合的底层数据结构就是线性表 List集合接口有很多的实现类,用来实现: 数组 [ArrayList] 栈 Stack 队列 Queue 链表 [LinkedList] ArrayList类是List集合的实现类,底层使用的是动态数组实现的结合 LinkedList类是List集合的实现类,底层使用的是双向链表 LinkedList特有的方法 addFirst(E e) 在集合的开头位置添加指定的元素 addLast(E e) 在集合的末尾位置添加指定的元素 getFirst(); 获取头元素 getLast() 获取尾部元素 removeFirst() 移除头元素 removeLast() 移除尾部元素 LinkedList自己就可以实现三种数据结构: 链表 栈 队列