queue队列

今天有一个需求需要随时更新数据需要及时删除过期数据,就用到队列了。每执行一次定时任务就往queue中加一次数据,所以需要在一个独立于定时任务的类中加静态属性:

public static Queue<CB_SingleDolaryToday> queue = new LinkedList<>()

因为需要求元素和所以加静态属性   public static double sumDolary = 0.0;

在定时任务中需要更新队列并删除过期元素

/**
* 循环检测队列头元素,如果超期则移除该元素 并继续进行检测,直到检测出未超期
*/

//以头元素是否超期为条件,头元素没超期其他就不再超期
while (isDelay(DolaryTodayMark.queue.peek())) {
CB_SingleDolaryToday dt = DolaryTodayMark.queue.poll();
if (dt == null) {
break;
}

//并减去删除的元素
DolaryTodayMark.sumDolary = DolaryTodayMark.sumDolary - Double.parseDouble(dt.getDolary());
}

private boolean isDelay(CB_SingleDolaryToday dolaryToday) {
// 如果队列头元素为空,则返回false,说明没有元素超期
if (dolaryToday == null) {
return false;
} else if (System.currentTimeMillis() - dolaryToday.getTime() > delayTime) {
return true;
} else {
return false;
}

}

时间: 2024-10-09 23:31:29

queue队列的相关文章

STL --&gt; queue单向队列

queue单向队列 queue 模板类的定义在<queue>头文件中.与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型. 定义queue 对象的示例代码如下:queue<int> q1;queue<double> q2; queue 的基本操作有: q.push(x)                入队,将x 接到队列的末端.q.pop()             

pyhton中的Queue(队列)

什么是队列? 队列就像是水管子,先进先出,与之相对应的是栈,后进先出. 队列是线程安全的,队列自身有机制可以实现:在同一时刻只有一个线程在对队列进行操作. 存数据,取数据 1 import Queue 2 3 q = Queue.Queue() #调用队列生成对象 4 q.put(1) #存放第一个值到队列 5 q.put(2) #存放第二个值到队列 6 7 8 print 'get frist one:',q.get() #获取队列的第一个值 9 print 'get second on:',

poj 3125 Printer Queue (队列)

 Printer Queue Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 3679   Accepted: 1975 Description The only printer in the computer science students' union is experiencing an extremely heavy workload. Sometimes there are a hundred jobs i

java数据结构与算法之(Queue)队列设计与实现

[版权申明]转载请注明出处(请尊重原创,博主保留追究权) http://blog.csdn.net/javazejian/article/details/53375004 出自[zejian的博客] 关联文章: java数据结构与算法之顺序表与链表设计与实现分析 java数据结构与算法之双链表设计与实现 java数据结构与算法之改良顺序表与双链表类似ArrayList和LinkedList(带Iterator迭代器与fast-fail机制) java数据结构与算法之栈设计与实现 java数据结构

STL - queue(队列)

Queue简介 queue是队列容器,是一种"先进先出"的容器. queue是简单地装饰deque容器而成为另外的一种容器. #include <queue> queue对象的默认构造 queue采用模板类实现,queue对象的默认构造形式:queue<T> queT; 如: queue<int> queInt; //一个存放int的queue容器. queue<float> queFloat; //一个存放float的queue容器.

Queue 先进先出队列的操作

1.Queue定义 System.Collections.Queue类表示对象的先进先出集合,存储在 Queue(队列) 中的对象在一端插入,从另一端移除. 2.优点 1.能对集合进行顺序处理(先进先出). 2.能接受null值,并且允许重复的元素. 3. Queue的构造器 构造器函数 注释 Queue () 初始化 Queue 类的新实例,该实例为空,具有默认初始容量(32)并使用默认增长因子(2.0). Queue (ICollection) 初始化 Queue 类的新实例,该实例包含从指

STL系列之三 queue 单向队列

queue单向队列与栈有点类似,一个是在同一端存取数据,另一个是在一端存入数据,另一端取出数据.单向队列中的数据是先进先出(First In First Out,FIFO).在STL中,单向队列也是以别的容器作为底部结构,再将接口改变,使之符合单向队列的特性就可以了.因此实现也是非常方便的.下面就给出单向队列的函数列表和VS2008中单向队列的源代码.单向队列一共6个常用函数(front().back().push().pop().empty().size()),与栈的常用函数较为相似. VS2

c++ queue 顺序队列的实现

#include<iostream> #include<cstdlib> #include<cstdio> using namespace std; const int initial_lize=10000; const int adding_size=2*initial_lize; template<class T> struct Queue{ T * base; T * Qhead,*Qbegin,*Qend,*Qfront,*Qtail; int fr

Queue&lt;T&gt;队列

=====================================Document.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication2 {     public class Document//文本类     {         //标题    

POJ 2259 Team Queue 数据结构 队列

Team Queue Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3282   Accepted: 1188 Description Queues and Priority Queues are data structures which are known to most computer scientists. The Team Queue, however, is not so well known, thoug