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这个同步实现。
  • 相关阅读:
    C++/C函数的调用规范
    Computer Science Conference Rankings 计算机科学会议排名 Rank
    Height of CComboBox's drop down list
    java instrument跟踪java freemarker调用过程
    Text to speech hello world sapi
    Visual Studio 插件 代码注释对齐
    #define WINVER 0x0501 之后菜单不显示图标了
    转 用NodeJS打造你的静态文件服务器
    代码注释对齐
    修复MSN上联系人全部显示脱机状态,删除缓存
  • 原文地址:https://www.cnblogs.com/dahaoheshan/p/6672223.html
Copyright © 2011-2022 走看看