java队列怎样用java代码实现一个队列

java队列  时间:2021-09-02  阅读:()

JAVA中队列和栈的区别

队列(Queue):是限定只能在表的一端进行插入和在另一端进行删除操作的线性表; 栈(Stack):是限定只能在表的一端进行插入和删除操作的线性表。

区别如下: 一、规则不同 1. 队列:先进先出(First In First Out)FIFO 2. 栈:先进后出(First In Last Out )FILO 二、对插入和删除操作的限定不同 1. 队列:只能在表的一端进行插入,并在表的另一端进行删除; 2. 栈:只能在表的一端插入和删除。

三、遍历数据速度不同 1. 队列:基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间,因为在遍历的过程中不影响数据结构,所以遍历速度要快; 2. 栈:只能从顶部取数据,也就是说最先进入栈底的,需要遍历整个栈才能取出来,而且在遍历数据的同时需要为数据开辟临时空间,保持数据在遍历前的一致性。

怎么编写一个简单的java队列?

import java.util.*; public class MyQueue<T> { private LinkedList<T> list = new LinkedList<T>(); public void addLast(T v) { list.addLast(v); //队尾插入 } public T getFirst() { return list.getFirst(); //取得队受元素 } public void remove() { list.removeFirst(); //移除队首元素 } //类似功能自己扩展下 public static void main(String[] args) { MyQueue<String> mq = new MyQueue<String>(); mq.addLast("hello world"); mq.addLast("hello world2"); System.out.println(mq.getFirst()); mq.remove(); System.out.println(mq.getFirst()); } }

怎样用java代码实现一个队列

class Stack<T> { private Vector<T> v; public Stack(){ v = new Vector<T>(); } public T pop(){ if (v.size()==0) return null; return v.get(v.size()-1); } public void push(T t){ v.add(t); } public boolean isEmpty(){ return v.size()==0; } } class Queue<T>{ private Vector<T> v; public Queue(){ v = new Vector<T>(); } //入队列 public void enqueue(T t){ v.add(t); } //出队列 public T dequeue(){ if (v.size()==0) return null; return v.get(0); } public boolean isEmpty(){ return v.size() == 0; } }

用java编一个队列

自己写了个简单的实现 class Queue<E>{ private Object[] integerQueue;//用来当队列 public int tail;//队尾 public int size;//队的长度,也可以设置一个默认值,溢出时从新申请 public Queue(int size){ integerQueue=new Object[size]; this.size=size; tail=-1; } /** * 将元素插入队列 * @return 如果该元素已添加到此队列,则返回 true;否则返回 false */ public boolean offer(E e){ if(tail <size-1){ tail++; this.integerQueue[tail]=e; return true; }else{ return false; } } /** * 获取并移除此队列的头,如果此队列为空,则返回 null。

*/ public E poll(){ Object tmp; if(tail>=0){ tmp=this.integerQueue[tail]; tail--; return (E)tmp; }else{ return null; } } }

java中的队列都有哪些

常见的有: 有界队列: ArrayBlockingQueue LinkedBlockingQuene priorityBlockingQuene(具有优先级的队列) 无界队列: SynchronousQuene

怎样用java代码实现一个队列

class Stack&lt;T&gt; { private Vector&lt;T&gt; v; public Stack(){ v = new Vector&lt;T&gt;(); } public T pop(){ if (v.size()==0) return null; return v.get(v.size()-1); } public void push(T t){ v.add(t); } public boolean isEmpty(){ return v.size()==0; } } class Queue&lt;T&gt;{ private Vector&lt;T&gt; v; public Queue(){ v = new Vector&lt;T&gt;(); } //入队列 public void enqueue(T t){ v.add(t); } //出队列 public T dequeue(){ if (v.size()==0) return null; return v.get(0); } public boolean isEmpty(){ return v.size() == 0; } }

ucloud香港服务器优惠活动:香港2核4G云服务器低至358元/年,968元/3年

ucloud香港服务器优惠降价活动开始了!此前,ucloud官方全球云大促活动的香港云服务器一度上涨至2核4G配置752元/年,2031元/3年。让很多想购买ucloud香港云服务器的新用户望而却步!不过,目前,ucloud官方下调了香港服务器价格,此前2核4G香港云服务器752元/年,现在降至358元/年,968元/3年,价格降了快一半了!UCloud活动路子和阿里云、腾讯云不同,活动一步到位,...

pacificrack:超级秒杀,VPS低至$7.2/年,美国洛杉矶VPS,1Gbps带宽

pacificrack又追加了3款特价便宜vps搞促销,而且是直接7折优惠(一次性),低至年付7.2美元。这是本月第3波便宜vps了。熟悉pacificrack的知道机房是QN的洛杉矶,接入1Gbps带宽,KVM虚拟,纯SSD RAID10,自带一个IPv4。官方网站:https://pacificrack.com支持PayPal、支付宝等方式付款7折秒杀优惠码:R3UWUYF01T内存CPUSS...

npidc:9元/月,cn2线路(不限流量)云服务器,金盾+天机+傲盾防御CC攻击,美国/香港/韩国

npidc全称No Problem Network Co.,Limited(冇問題(香港)科技有限公司,今年4月注册的)正在搞云服务器和独立服务器促销,数据中心有香港、美国、韩国,走CN2+BGP线路无视高峰堵塞,而且不限制流量,支持自定义内存、CPU、硬盘、带宽等,采用金盾+天机+傲盾防御系统拦截CC攻击,非常适合建站等用途。活动链接:https://www.npidc.com/act.html...

java队列为你推荐
range3S压力开关上RANGE和 DIFF是什么意思?项目质量管理什么是工程项目质量管理?eofexceptionjava.io.EOFException这是个什么异常应该怎么解决容灾备份我想知道异地容灾备份谁知道呢,有没有好一点的?软件详细设计说明书软件产品规格说明书都包含什么内容图片修改工具推荐个好用的修改图片的工具jsp源码帮忙编个JSP代码监控员工我现在在看监控一线员工的。如何做好看监控的工作?工作经验介绍个人简历中的服务员工作经验怎么写比较好sg什么意思sg,gm到底是什麽意思?
免费域名空间 asp虚拟主机 国外免费vps cve-2014-6271 realvnc 嘉洲服务器 193邮箱 admit的用法 asp免费空间申请 cdn加速原理 卡巴斯基试用版 免费申请个人网站 卡巴斯基免费试用 空间租赁 路由跟踪 华为k3 存储服务器 密钥索引 脚本大全 forwarder 更多