【发布时间】:2010-04-17 17:16:21
【问题描述】:
我需要在我的应用程序中使用 FIFO 结构。它最多需要有5个元素。 我想要一些易于使用的东西(我不关心并发),它实现了 Collection 接口。
我已经尝试过似乎来自队列的 LinkedList,但它似乎不允许我设置它的最大容量。感觉好像我只想要最多 5 个元素但尝试添加 20 个,它只会不断增加大小以适应它。我想要一些可以通过以下方式工作的东西:
XQueue<Integer> queue = new XQueue<Integer>(5); //where 5 is the maximum number of elements I want in my queue.
for (int i = 0; i < 10; ++i) {
queue.offer(i);
}
for (int i = 0; i < 5; ++i) {
System.out.println(queue.poll());
}
打印出来的:
5
6
7
8
9
谢谢
【问题讨论】:
-
为什么要打印 5,6,..?为什么不是 0,1,2,3,4?报价似乎表明当达到最大容量时它会失败
-
从技术上讲,我实际上对这种队列的需求是什么感兴趣,通常会忽略数据/任务(也就是说,由于某些平凡的原因将它们丢弃)不是什么好事。除此之外,这听起来像是我想尝试编码只是为了看看我是否可以让一个工作。
-
似乎感兴趣的是跟踪前 5 个“最近使用”的元素。由于您只关心最近的,因此您需要丢弃旧的。