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

RAKsmart:美国圣何塞服务器限量秒杀$30/月起;美国/韩国/日本站群服务器每月189美元起

RAKsmart怎么样?RAKsmart是一家由华人运营的国外主机商,提供的产品包括独立服务器租用和VPS等,可选数据中心包括美国加州圣何塞、洛杉矶、中国香港、韩国、日本、荷兰等国家和地区数据中心(部分自营),支持使用PayPal、支付宝等付款方式,网站可选中文网页,提供中文客服支持。本月商家继续提供每日限量秒杀服务器月付30.62美元起,除了常规服务器外,商家美国/韩国/日本站群服务器、1-10...

Friendhosting,美国迈阿密机房新上线,全场45折特价优惠,100Mbps带宽不限流量,美国/荷兰/波兰/乌兰克/瑞士等可选,7.18欧元/半年

近日Friendhosting发布了最新的消息,新上线了美国迈阿密的云产品,之前的夏季优惠活动还在进行中,全场一次性45折优惠,最高可购买半年,超过半年优惠力度就不高了,Friendhosting商家的优势就是100Mbps带宽不限流量,有需要的朋友可以尝试一下。Friendhosting怎么样?Friendhosting服务器好不好?Friendhosting服务器值不值得购买?Friendho...

个人网站备案流程及注意事项(内容方向和适用主机商)

如今我们还有在做个人网站吗?随着自媒体和短视频的发展和兴起,包括我们很多WEB2.0产品的延续,当然也包括个人建站市场的低迷和用户关注的不同,有些个人已经不在做网站。但是,由于我们有些朋友出于网站的爱好或者说是有些项目还是基于PC端网站的,还是有网友抱有信心的,比如我们看到有一些老牌个人网站依旧在运行,且还有新网站的出现。今天在这篇文章中谈谈有网友问关于个人网站备案的问题。这个也是前几天有他在选择...

java队列为你推荐
路由器怎么重新设置网络路由器换了一个地方,怎么重新设置?防护工地安全措施以及防护都有哪些体系文件怎么建立公司体系文件?体系文件包括哪些内容?怎么入手?教育城域网教育城域网的教育城域网的用途小项目适合在家做的小项目有什么?4g上网卡联通4g上网卡是什么?站内搜索引擎搜索引擎工作原理与如何建立站内搜索摇一摇周边微信摇一摇周边红包设置教学视频网站谁有各种教学视频网站呀.?soap是什么意思捡肥皂是什么意思啊?无恶意,就好奇
cybermonday 韩国空间 香港新世界电讯 免费静态空间 服务器架设 html空间 ntfs格式分区 新家坡 如何安装服务器系统 移动服务器托管 smtp服务器地址 国外代理服务器 hostease 睿云 SmartAXMT800 时间服务器 最新优惠 magento主机 crontab 最好的空间日志 更多