实现了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):删除指定地位的元素 先确定没有超过范畴 再删除