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; } }

白丝云-美国圣何塞4837/德国4837大带宽/美西9929,26元/月起

官方网站:点击访问白丝云官网活动方案:一、KVM虚拟化套餐A1核心 512MB内存 10G SSD硬盘 800G流量 2560Mbps带宽159.99一年 26一月套餐B1核心 512MB内存 10G SSD硬盘 2000G流量 2560Mbps带宽299.99一年 52一月套餐...

新版本Apache HTTP Server 2.4.51发布更新(有安全漏洞建议升级)

今天中午的时候看到群里网友在讨论新版本的Apache HTTP Server 2.4.51发布且建议更新升级,如果有服务器在使用较早版本的话可能需要升级安全,这次的版本中涉及到安全漏洞的问题。Apache HTTP 中2.4.50的修复补丁CVE-2021-41773 修复不完整,导致新的漏洞CVE-2021-42013。攻击者可以使用由类似别名的指令配置将URL映射到目录外的文件的遍历攻击。这里...

无忧云-河南洛阳BGP,CEPH集群分布式存储,数据安全可靠,活动期间月付大优惠!

 无忧云怎么样?无忧云服务器好不好?无忧云值不值得购买?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点...

java队列为你推荐
短网址解析什么是ieee地址?什么是网络地址?rtfrtf是什么格式?win10发布Win10什么时候发布网络限速软件有什么比较好的网络限速的软件售后软件电脑维修需要哪些必备软件硬盘分区格式化硬盘分区后怎么格式化暂停线程Java里如何暂停一个线程,达到一定条件后又唤醒线程?购物网站设计Jsp+Sql电子商城&网上购物网站设计淘宝推广网站谁有好的淘宝推广网站介绍下哦!或推广技巧!里程碑2摩托罗拉里程碑2怎么样
草根过期域名 美国主机推荐 googleapps 圣迭戈 paypal认证 账号泄露 外国空间 标准机柜尺寸 全能主机 合肥鹏博士 河南m值兑换 admit的用法 赞助 可外链相册 免费高速空间 100mbps 爱奇艺会员免费试用 免费mysql数据库 无限流量 美国独立日 更多