LinkedList是JDK实现的一个链表数据结构,一个包括size,first,last的一个双向链表。其中每个节点是一个Node对象,Node记录了prev,item,next。LinkedList支持双向操作,双向遍历。随机访问需要遍历而增删只需要改变节点的前后指向,所以查询性能不如ArrayList但是增删性能更好。与ArrayList同样存在并发安全问题,迭代器同样会在并发修改时抛出ConcurrentModificationException

1.链表核心操作linkFirst linkLast linkBefore unLinkFirst unLinkLast unLink,通过这些方法实现List和Deque接口定义的方法;

2.node方法可以获取指定index的节点,支持双向遍历;

3.迭代器实现与ArrayList类似。