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

Friendhosting全场VDS主机45折,虚拟主机4折,老用户续费9折

Friendhosting发布了今年黑色星期五促销活动,针对全场VDS主机提供45折优惠码,虚拟主机4折,老用户续费可获9折加送1个月使用时长,优惠后VDS最低仅€14.53/年起,商家支持PayPal、信用卡、支付宝等付款方式。这是一家成立于2009年的老牌保加利亚主机商,提供的产品包括虚拟主机、VPS/VDS和独立服务器租用等,数据中心可选美国、保加利亚、乌克兰、荷兰、拉脱维亚、捷克、瑞士和波...

数脉科技:阿里云香港CN2线路服务器;E3-1230v2/16G/240G SSD/10Mbps/3IP,月付374元

数脉科技怎么样?昨天看到数脉科技发布了7月优惠,如果你想购买香港服务器,可以看看他家的产品,性价比还是非常高的。数脉科技对香港自营机房的香港服务器进行超低价促销,可选择10M、30M的优质bgp网络。目前商家有优质BGP、CN2、阿里云线路,国内用户用来做站非常不错,目前E3/16GB阿里云CN2线路的套餐有一个立减400元的优惠,有需要的朋友可以看看。点击进入:数脉科技商家官方网站香港特价阿里云...

妮妮云(43元/月 ) 香港 8核8G 43元/月 美国 8核8G

妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...

java队列为你推荐
按键精灵教程学按键精灵需要学些什么基础知识win10发布Win10什么时候发布短信应用安卓短信软件??硬盘分区格式化硬盘分区后怎么格式化摇一摇周边公众号怎么用微信摇一摇周边功能soap是什么意思rbq是什么意思?乐辞清谈的含义及意义?黑屏操作麻烦问一下 黑屏的各个指令科学计算器说明书科学计算机具体怎么用?约束是什么意思约束,是什么意思。如有回答,请详细,
出租服务器 免费顶级域名 smartvps 60g硬盘 777te 中国智能物流骨干网 空间论坛 admit的用法 购买国外空间 银盘服务是什么 电信网络测速器 中国电信测速网站 工信部网站备案查询 iki 可外链的相册 小夜博客 重庆联通服务器托管 上海联通 中美互联网论坛 ping值 更多