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这个同步实现。
  • 相关阅读:
    [APM] OneAPM 云监控部署与试用体验
    Elastic Stack 安装
    xBIM 综合使用案例与 ASP.NET MVC 集成(一)
    JQuery DataTables Selected Row
    力导向图Demo
    WPF ViewModelLocator
    Syncfusion SfDataGrid 导出Excel
    HTML Table to Json
    .net core 2.0 虚拟目录下载 Android Apk 等文件
    在BootStrap的modal中使用Select2
  • 原文地址:https://www.cnblogs.com/dahaoheshan/p/6672223.html
Copyright © 2011-2022 走看看