LinkedList实现类

  List还有一个LinkedList的实现,它是一个基于链表实现的List类,对于顺序访问集合中的元素进行了优化,特别是当插入、删除元素时速度非常快。因为LinkedList即实现了List接口,也实现了Deque接口(双向队列),Deque接口是Queue接口的子接口,它代表一个双向列表,Deque接口里定义了一些可以双向操作队列的方法:

  • void addFirst(Object e):将制定元素插入该双向队列的开头。
  • void addLast(Object e):将制定元素插入该双向队列的末尾。
  • Iterator descendingIterator():返回以该双向队列对应的迭代器,该迭代器将以逆向顺序来迭代队列中的元素。
  • Object getFirst():获取、但不删除双向队列的第一个元素。
  • Object getLast(): 获取、但不删除双向队列的最后一个元素。
  • boolean offerFirst(Object e): 将指定的元素插入该双向队列的开头。
  • boolean offerLast(Object e): 将指定的元素插入该双向队列的末尾。
  • Object peekFirst(): 获取、但不删除该双向队列的第一个元素:如果此双端队列为空,则返回null。
  • Object peekLast():获取、但不删除该双向队列的最后一个元素:如果此双端队列为空,则返回null。
  • Object pollFirst():获取、并删除该双向队列的第一个元素:如果此双端队列为空,则返回null。
  • Object pollLast():获取、并删除该双向队列的最后一个元素:如果此双端队列为空,则返回null。
  • Object pop():pop出该双向队列所表示的栈中第一个元素。
  • void push(Object e):将一个元素push进该双向队列所表示的栈中(即该双向队列的头部)。
  • Object removerFirst():获取、并删除该双向队列的最后一个元素。
  • Object removeFirstOccurrence(Object o):删除该双向队列的第一次的出现元素o。
  • Object removeLast():获取、并删除该双向队列的最后一个元素。
  • Object removeLastOccurrence(Object o):删除该双向队列的最后一次出现的元素o。
  • 关于使用List集合的几点建议:

    • 如果需要遍历List集合元素,对应ArrayList、Vector集合,则应该使用随机访问方法(get)来遍历集合元素,这样性能更好。对应LinkedList集合,则应采用迭代器(Iterator)来遍历集合元素。
    • 如果需要经常执行插入、删除操作来改变Lst集合大小,则应该使用LinkedList集合,而不是ArrayList。
    • 如果多条线程需要同时访问List集合中的元素,可以考虑使用Vector这个同步实现。
posted @ 2017-04-06 10:17  锦绣河山锦  阅读(155)  评论(0编辑  收藏  举报