2 qq1252776430 QQ1252776430 于 2016.04.12 17:00 提问

堆栈和queue集合的关系

如题,java集合里面提到了list,queue等接口,但是没提到堆栈,不是数据结构么。
另外,queue的原理是先进先出,和heap堆一样的性质。想问下堆栈和集合架构什么关系,

3个回答

caozhy
caozhy   Ds   Rxr 2016.04.12 17:39

谁说没有堆栈的?java.util.Stack不是么
http://blog.csdn.net/a19881029/article/details/9408649

QQ1252776430
QQ1252776430   2016.04.12 17:16

追问:集合架构方面几个接口是list,queue,sort等。并没有提到常说的堆栈,数据结构书上说stack就是一种先进后出的特殊list,而queue又有先进后出的特性和heap一样。似乎heap被称作优先队列。这几个概念的关系是不是heap是一种特殊的queue,queue和stack都是一种特殊的list

qq_34108945
qq_34108945   2016.04.12 23:20

其实你自己说的也挺清楚了,我帮你补充下:集合的最高接口Collection,之下有两个子接口分别是List和set,队列Queue接口之下有子接口Deque即双端队列,用于实现栈的需求,堆栈在Java中也就没有单独提供接口了;有一个实现类LinkedList既实现了List,又实现了双端队列Deque,这就造成了他们之间的联系如你所说的现象,队列是特殊的集合,堆栈也是特殊的集合;也就这么多了,多的也不会了,希望对你有用!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
特殊集合 队列(queue) 堆栈(stack) 哈希表(hashtable)
1.stack栈集合;又名 干草堆集合 栈集合 特点:(1)一个一个赋值 一个一个取值 (2)先进后出 实例化 初始化 Stack st = new Stack(); //添加元素用push st.Push(2); st.Push(6); st.Push(9); st.Push(5); st.Push(1); 输出个数 Console.WriteLine(st.Coun
C# 队列(Queue)和 堆栈(Stack)
C# 队列(Queue) 队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。 Queue 类的方法和属性 下表列出了 Queue 类的一些常用的 属性: 属性 描述 Count 获取 Queue 中包含的元素个数。
list集合与queue集合
1、List集合的特点 元素是有序的,元素可以重复,因为该集合体系有索引 List体系下ListIterator()具有向前迭代的功能。在迭代时不能通过集合对象的方法操作集合中的元素,因为会发生异常。 2、实现类 ArrayList和Vector作为List类的两个典型实现,完全支持之前介绍的List接口的全部功能。ArrayList和Vector类都是基于数组实现的List类,所
Queue与Deque队列和自定义堆栈
QueueQueue接口与List、Set同一级别,都是继承了Collection接口。LinkedList实现了Queue接口。Queue接口窄化了对LinkedList的方法的访问权限(即在方法中的参数类型如果是Queue时,就完全只能访问Queue接口所定义的方法 了,而不能直接访问 LinkedList的非Queue的方法),以使得只有恰当的方法才可以使用。BlockingQueue 继承了
Java 集合 Queue
Queue用于模拟队列这种数据结构,队列通常是指“先进先出”(FIFO)的容器。队列的头部保存在队列 中存放时间最长的元素,队列的尾部保存在队列中存放时间最短的元素。新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素 Queue接口的方法 void add(Object e):将指定元素加入此队列的尾部 O
Queue集合
Queue用于模拟队列这种数据结构,新元素插入(offer)到队列的尾部,访问元素(poll)操作会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。    Queue接口中定义了如下几个方法。 void add(Object e):将指定元素加入此队列的尾部 Object element():获取队列头部的元素,但是不删除该元素 boolean offer(Object
java集合类Queue
简介     Queue是一种很常见的数据结构类型,在java里面Queue是一个接口,它只是定义了一个基本的Queue应该有哪些功能规约。实际上有多个Queue的实现,有的是采用线性表实现,有的基于链表实现。还有的适用于多线程的环境。java中具有Queue功能的类主要有如下几个:AbstractQueue, ArrayBlockingQueue, ConcurrentLinkedQueu
Java集合 之 Queue集合
https://www.cnblogs.com/mercuryli/p/4636231.html什么是Queue集合?答:Queue用于模拟队列这种数据结构。队列通常是指“先进先出(FIFO)”的容器。队列的头部保存在队列中存放时间最长的元素,尾部保存存放时间最短的元素。新元素插入到队列的尾部,取出元素会返回队列头部的元素。通常,队列不允许随机访问队列中的元素。Queue接口中定义了如下的几个方法...
C++ 队列(queue)堆栈(stack)实现基础
在C++中只要#include即可使用队列类,其中在面试或笔试中常用的成员函数如下(按照最常用到不常用的顺序) 1. push 2. pop 3. size 4. empty 5. front 6. back 接下来逐一举例说明: 1. push 队列中由于是先进先出,push即在队尾插入一个元素,如: 1 queuestring> q;
JAVA基础知识之Queue集合
Queue接口 PriorityQueue类Deque与ArrayDequeLinkedList各种线性表性能分析 Queue接口 Queue用来模拟队列这种数据结构,遵循先进先出原则(FIFO)。Queue接口中定义了以下通用方法,remove(), element():获取队头元素,remove(), poll(), peek():获取队头元素;offer(Object obj):队尾插