zoukankan      html  css  js  c++  java
  • 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这个同步实现。
  • 相关阅读:
    vim跳转(一)
    代理服务器
    python类
    python 删除/查找重复项
    DNS缓存
    DNS查询过程
    http返回头中content-length与Transfer-Encoding: chunked的问题释疑
    jquery mouseover与mouseenter,mouserout与mouseleave的区别
    php提示Call-time pass-by-reference has been deprecated in的解决方法
    uboot启动内核(3)
  • 原文地址:https://www.cnblogs.com/dahaoheshan/p/6672223.html
Copyright © 2011-2022 走看看