使用Java实现简单的队列(queue)
来源:互联网 发布:chart.js zoom y axis 编辑:程序博客网 时间:2024/05/16 02:41
使用Java实现简单的队列(queue)
前言
很多时候我们可以使用Java提供的queue实现队列的功能,但是当我们需要实现一些比较特殊情况下的队列的时候可能需要自己实现一个队列从而满足个性化的需求。例如我们需要实现一个由时间排列的队列,队列里的元素根据时间的大小,从小到大排列,这时候可能我们就需要自己定义一个队列了。
实现
public class TimeQueue { private Element head; public void addElement(Element e) { Element temp = head; if(temp == null) { head = e; return; } //向队列的头添加一个元素 if(e.time < temp.time) { e.next = temp; head = e; return; } //向队列某一个地方添加一个元素 while(temp.next != null) { if(e.time < temp.next.time) { e.next = temp.next; break; } temp = temp.next; } temp.next = e; } public Element getElement(long time) { Element temp = head; Element last = temp; Element next = temp.next; while(next != null) { if(time < next.time) { return last; } last = next; next = next.next; } return null; } public Element removeElement(long time) { Element temp = head; Element last = temp; Element next = temp.next; while(next != null) { if(time < next.time) { break; } temp = last; last = next; next = next.next; } if(last == temp) { head = next; } temp.next = next; return last; } public static class Element { public Element next; public long time; public Element(long time ) { this.time = time; } }}
测试
public static void main(String[]args) { TimeQueue queue = new TimeQueue(); queue.addElement(new TimeQueue.Element(19)); queue.addElement(new TimeQueue.Element(20)); queue.addElement(new TimeQueue.Element(8)); queue.addElement(new TimeQueue.Element(118)); queue.addElement(new TimeQueue.Element(33)); queue.addElement(new TimeQueue.Element(99)); queue.addElement(new TimeQueue.Element(79));// System.out.println(queue.getElement(100).time); System.out.println(queue.removeElement(0).time); System.out.println(queue.removeElement(0).time); }
阅读全文
0 0
- 使用Java实现简单的队列(queue)
- Java实现一个简单的队列---Queue
- java.util.Queue(队列)的简单使用
- 使用bsd的queue.h实现简单队列
- java 队列 Queue 的使用
- Java中的队列(Queue)简单使用
- JAVA QUEUE 队列 使用
- java中的queue(队列)的使用
- java中queue的-- 队列使用
- 队列的实现 queue
- queue队列的实现
- java中使用FIFO队列:java.util.Queue实现多台服务器发邮件的代码
- java中使用FIFO队列:java.util.Queue实现多台服务器发邮件的代码
- Java如何实现queue队列?
- 小佳弱弱学习——queue队列的简单实现
- 算法导论-------------队列(queue)的简单实现
- 简单模拟实现队列Queue的模板类
- 消息队列(Message Queue)的简单使用
- Android 6.0 Phone"通话显示"查询流程
- Swift storyBoard 判断 segue 目标
- 用两个栈实现队列(java版)
- ADRC--笔记
- 如何将MyBatis或者iBatis的SQL打印到控制台?
- 使用Java实现简单的队列(queue)
- Maven的使用教程
- IntelliJ IDEA 类代码模板注解自定义
- 卷积神经网络模型(CNN)
- SpringFramework#ObjectPostProcessor
- robot framework 测试安装
- 使用mybatis更新时如果数据类型为boolean型
- composer安装和使用方法
- Memcached分布式算法