zoukankan      html  css  js  c++  java
  • Deque双端队列

    实现类:ArrayDeque和LinkedList

    作用:Deque既可以做栈使用也可以做队列使用;

    缺点:Deque违背了单一职责性原则

    ArrayDeque:

    ArrayDeque是Deque接口的一种具体实现,是依赖于可变数组来实现的。ArrayDeque 没有容量限制,可根据需求自动进行扩容。ArrayDeque可以作为栈来使用,效率要高于 Stack。ArrayDeque也可以作为队列来使用,效率相较于基于双向链表的LinkedList也要更好一些。注意,ArrayDeque不支持为null的元素。

    LinkedList:

    LinkedList与ArrayList一样实现List接口,只是ArrayList是List接口的大小可变数组的实现,LinkedList是List 接口链表的实现。基于链表实现的方式使得 LinkedList 在插入和删除时更优于ArrayList,而随机访问则比ArrayList逊色些。
    LinkedList实现所有可选的列表操作,并允许所有的元素包括null。
    除了实现List接口外,LinkedList类还为在列表的开头及结尾 get、remove 和 insert 元素提供了统一的命名方法。这些操作允许将链接列表用作堆栈、队列或双端队列。
    此类实现 Deque 接口,为 add、poll 提供先进先出队列操作,以及其他堆栈和双端队列操作。
    所有操作都是按照双重链接列表的需要执行的。在列表中编索引的操作将从开头或结尾遍历列表(从靠近指定索引的一端)。
    同时,与 ArrayList 一样此实现不是同步的。

    户枢不蠹,流水不腐

  • 相关阅读:
    0、前端页面的请求路径
    5、Spring事务
    4、Spring整合MyBatis
    2.3、Spring多配置文件
    2.2、基于注解的DI注入
    Rest语法,传入多个参数
    JS中 `=+` 是什么?
    Node.js 爬虫爬取电影信息
    JavaScript监听页面可见性(焦点)同时改变title的三种方法
    CSS 清除浮动的方法
  • 原文地址:https://www.cnblogs.com/yunianzeng/p/13214725.html
Copyright © 2011-2022 走看看