实现了list和deque的双端链表。线程不安全。
//如果想使LinkedList变成线程安全的
//可以调用静态类Collections类中的synchronizedList方法:
List list=Collections.synchronizedList(new LinkedList(...));
addAll将集合从指定位置开始插入
- 检查index范围是否在size之内
- toArray()方法把集合的数据存到对象数组中
- 得到插入位置的前驱和后继节点
- 遍历数据,将数据插入到指定位置
获取头尾结点
- getFirst(),element(),peek(),peekFirst() 这四个获取头结点方法的在链表为空时,getFirst() 和element() 抛出NoSuchElementException异常(element()方法的内部就是使用getFirst()实现的)。
- getLast() 方法在链表为空时,会抛出NoSuchElementException,而peekLast() 则不会
根据对象得到索引的办法
- indexOf从头遍历
- lastIndexOf从尾遍历
检查链表是否包含某对象
- contains 从头遍历
删除方法
- remove() ,removeFirst(),pop(): 删除头节点
- removeLast(),pollLast(): 删除尾节点
- remove(Object o): 删除指定元素 从头遍历
- unlink(Node x) 方法
- remove(int index):删除指定位置的元素 先确定没有超过范围 再删除
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。