LinkedList: 有首尾元素的方法
addFirst(“我是first”); .addLast(“我是last”); 添加首尾元素
removeFirst() removeLast() 删除首尾元素
getFirst(); getLast(); 获取首尾元素
poll() 删除第一个 pop() 删除第一个元素(从堆栈结构中弹出一个元素)
.push() 将元素放到堆栈结构的上面

LinkedList涉及到 数据的堆栈和队列结构

  1. **堆栈结构:**<br />** 先进后出 后进先出**<br /> 队列结构<br /> 先进先出 后进后出

LinkedList和ArrayList区别:

LinkedList是**双向链表结构**<br />        增加和删除效率高<br />           查找效率低

ArrayList是**数组结构**<br />        增加和删除元素比较慢<br />        查询比较快

遍历:

迭代器 Iterator 反向迭代器 ListIterator
image.png
反向迭代器的指针默认指向-1的位置
使用hasPrevious 判断有没有上一个
linked.listIterator(int index)参数设置默认指针位置 有重载 可以不传
手动把指针指向最后一个元素后面 往前遍历
linked.IistIterator(linked.size()); //把集合大小作为参数传进去

image.png
也可以不调指针指向 先正向遍历再反向遍历
注意:正向和反方向的指针要一致
image.png