Java 实现固定长度队列,自动删除最早添加的数据

Java 实现固定长度队列,自动删除最早添加的数据

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说Java 实现固定长度队列,自动删除最早添加的数据,希望能够帮助大家进步!!!

1. 长度固定,不能太长了,就最近的几条就可以,所以需要固定的队列。
2. 在添加的时候,自动删除最早添加的记录。
3. 输出的时候,倒序输出

简单的代码如下,主要使用了 org.apache.commons.collections4.queue.CircularFifoQueue.

复制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private static volatile CircularFifoQueue<String> tokenSentQueue = new CircularFifoQueue<>(5);
/** * 添加一条记录 */
public void offer(String mail,String token){ tokenSentQueue.offer(String.format("Send [%s] to mail: [%s]",token,mail));
}
/** * 倒序输出。 */
public List<String> tokenSentList(){ List<String> result = tokenSentQueue.stream().collect(Collectors.toList()); Collections.reverse(result); return result;
}
本文来源huayang183,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/17931

发表评论