deque Comparison of Queue and Deque methods Comparison of Stack and Deque methods
1、
队列queue和双端队列deque的转换
Queue Method Equivalent Deque Method
add(e) addLast(e)
offer(e) offerLast(e)
remove() removeFirst()
poll() pollFirst()
element() getFirst()
peek() peekFirst()
2、
堆stack和deque的转换
Stack Method Equivalent Deque Method
push(e) addFirst(e)
pop() removeFirst()
peek() peekFirst()
https://github.com/spring-projects/spring-boot/search?q=linkedlist&unscoped_q=linkedlist
import java.util.Deque;
import java.util.LinkedList;
import java.util.Objects; import org.codehaus.plexus.util.cli.CommandLineUtils;
private static final String[] NO_ARGS = {}; private final Deque<String> args = new LinkedList<>(); RunArguments(String arguments) {
Deque (Java Platform SE 8 ) https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html
Interface Deque<E>
- Type Parameters:
E- the type of elements held in this collection
- All Superinterfaces:
- Collection<E>, Iterable<E>, Queue<E>
- All Known Subinterfaces:
- BlockingDeque<E>
- All Known Implementing Classes:
- ArrayDeque, ConcurrentLinkedDeque, LinkedBlockingDeque, LinkedList
public interface Deque<E>
extends Queue<E>A linear collection that supports element insertion and removal at both ends. The name deque is short for "double ended queue" and is usually pronounced "deck". MostDequeimplementations place no fixed limits on the number of elements they may contain, but this interface supports capacity-restricted deques as well as those with no fixed size limit.This interface defines methods to access the elements at both ends of the deque. Methods are provided to insert, remove, and examine the element. Each of these methods exists in two forms: one throws an exception if the operation fails, the other returns a special value (either
nullorfalse, depending on the operation). The latter form of the insert operation is designed specifically for use with capacity-restrictedDequeimplementations; in most implementations, insert operations cannot fail.The twelve methods described above are summarized in the following table:
Summary of Deque methods First Element (Head) Last Element (Tail) Throws exception Special value Throws exception Special value Insert addFirst(e)offerFirst(e)addLast(e)offerLast(e)Remove removeFirst()pollFirst()removeLast()pollLast()Examine getFirst()peekFirst()getLast()peekLast()This interface extends the
Queueinterface. When a deque is used as a queue, FIFO (First-In-First-Out) behavior results. Elements are added at the end of the deque and removed from the beginning. The methods inherited from theQueueinterface are precisely equivalent toDequemethods as indicated in the following table:Comparison of Queue and Deque methods QueueMethodEquivalent DequeMethodadd(e)addLast(e)offer(e)offerLast(e)remove()removeFirst()poll()pollFirst()element()getFirst()peek()peekFirst()Deques can also be used as LIFO (Last-In-First-Out) stacks. This interface should be used in preference to the legacy
Stackclass. When a deque is used as a stack, elements are pushed and popped from the beginning of the deque. Stack methods are precisely equivalent toDequemethods as indicated in the table below:Comparison of Stack and Deque methods Stack Method Equivalent DequeMethodpush(e)addFirst(e)pop()removeFirst()peek()peekFirst()Note that the
peekmethod works equally well when a deque is used as a queue or a stack; in either case, elements are drawn from the beginning of the deque.This interface provides two methods to remove interior elements,
removeFirstOccurrenceandremoveLastOccurrence.Unlike the
Listinterface, this interface does not provide support for indexed access to elements.While
Dequeimplementations are not strictly required to prohibit the insertion of null elements, they are strongly encouraged to do so. Users of anyDequeimplementations that do allow null elements are strongly encouraged not to take advantage of the ability to insert nulls. This is so becausenullis used as a special return value by various methods to indicated that the deque is empty.Dequeimplementations generally do not define element-based versions of theequalsandhashCodemethods, but instead inherit the identity-based versions from classObject.This interface is a member of the Java Collections Framework.
- Since:
- 1.6
deque Comparison of Queue and Deque methods Comparison of Stack and Deque methods的更多相关文章
- PMD - Avoid autogenerated methods to access private fields and methods of inner / outer classes
PMD错误 Avoid autogenerated methods to access private fields and methods of inner / outer classes 样例 p ...
- C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法
每次忘记都去查,真难啊 /* C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法 */ /* vector常用用法 */ //头文件 #i ...
- STL队列 之FIFO队列(queue)、优先队列(priority_queue)、双端队列(deque)
1.FIFO队列 std::queue就是普通意思上的FIFO队列在STL中的模版. 1.1主要的方法有: (1)T front():访问队列的对头元素,并不删除对头元素 (2)T back(): ...
- Coursera Algorithms Programming Assignment 2: Deque and Randomized Queue (100分)
作业原文:http://coursera.cs.princeton.edu/algs4/assignments/queues.html 这次作业与第一周作业相比,稍微简单一些.有三个编程练习:双端队列 ...
- C++在stack的deque实现
本文实现STL在stack大部分功能,同时加入了许多功能. 请注意以下几点: 1.Stack它是一个适配器,在底部vector.list.deque等实现 2.Stack不含有迭代器 在本例中, ...
- Why does the C# compiler translate this != comparison as if it were a > comparison?
Question: I have by pure chance discovered that the C# compiler turns this method: static bool IsNot ...
- leetcode 155. Min Stack 、232. Implement Queue using Stacks 、225. Implement Stack using Queues
155. Min Stack class MinStack { public: /** initialize your data structure here. */ MinStack() { } v ...
- Which HTTP methods match up to which CRUD methods?
https://stackoverflow.com/questions/6203231/which-http-methods-match-up-to-which-crud-methods Crea ...
- 【JDK】JDK源码-Queue, Deque
概述 Queue 和 Deque 都是接口.其中 Queue 接口定义的是一个队列,它包含队列的基本操作:入队(enqueue)和出队(dequeue). Deque 接口继承自 Queue 接口,表 ...
随机推荐
- iOS 苹果标识符
- PostgreSQL存储过程(4)-return语句
1. return语句 有三个命令可以用来从函数中返回数据: RETURN RETURN NEXT RETURN QUERY 2. RETURN命令 语法: RETURN RETURN express ...
- HTML5和CSS3扁平化风格博客(进阶篇)
趁热打铁,将剩下的部分完结~ 接上篇,增加了一些js特效:侧边栏,返回顶部. 至于效果,也不知道gif的图片怎么显示不上去了 无奈只能直接上代码了,完整版请点击: https://files.cnbl ...
- gozmq的安装与使用
1. 安装zmq 下载Windows版安装或linux版本并执行安装命令: tar zxvf zeromq-4.1.6.tar.gz cd zeromq-4.1.6 ./configure make ...
- iOS - Action Extension
上一篇<iOS开发 之 Share Extension>介绍了分享扩展的开发与使用,本篇主要还是讲述在系统分享菜单中最底下一栏的功能扩展:Action Extension,该扩展跟Shar ...
- js replace replaceAll
今天因为一些原因来看这篇博文,测试了一下根本不对.replace根本没有string.replace("字符","字符")这样的写法,而是stringObjec ...
- phaser相关
phaser.js这个插件,中文翻译的开发文档还在翻译中,至于英文的开发文档,勉勉强强查阅,有些方法名和开发文档的有着一些区别,开发文档上时带着er的.不过大体上还是一一对应查找的到的 eg:load ...
- 【Spring源码分析系列】结构组成和容器的基本实现
beans包的层级结构 src/main/java:用于展现Spring的主要逻辑 src/main/resources:用于存放系统的配置文件 src/test/java:用于对主要逻辑单元进行测试 ...
- 【大数据系列】HDFS初识
一.HDFS介绍 HDFS为了做到可靠性(reliability)创建了多分数据块(data blocks)的复制(replicas),并将它们放置在服务集群的计算节点中(compute nodes) ...
- sencha touch NavigationView 嵌套 TabPanel 的问题
在st2.1之中,在NavigationView视图之中在嵌套一个TabPanel会有以下问题 下面我们监控TabPanel的activate事件和activeitemchange事件 会发现当首页加 ...