具有固定大小的集合中的Java存储对象

时间:2013-12-17 10:27:26

标签: java list map set

我想将一个Object添加到列表或集合中。那里只能存放5个物体。 如果列表已满,并且新对象想要加入(并且每隔50ms),则应删除第一个(也是最旧的)元素。 因为我沉迷于jdk 1.3(没有任何扩展!)我没有找到一个好的解决方案。 任何优雅,简单,快捷的想法? 谢谢!

4 个答案:

答案 0 :(得分:1)

检查你何时要添加一个列表有5个对象的元素?如果是这样,删除第0个对象&添加新对象,如果它小于5,则直接添加它。像ABP一样,你可以在jdk 1.3本身中做到这一点。

答案 1 :(得分:1)

正如reto所说,您可以编写自己的结构来强制执行对数据的任何限制。您似乎希望实现类似队列的行为。您可以扩展队列,这样您就不必重写其中的大部分行为(请参阅http://docs.oracle.com/javase/tutorial/collections/custom-implementations/)。但是,如果此解决方案对您没有吸引力,您可以简单地实现具有内部数组列表的类,并自定义add方法的行为。

答案 2 :(得分:0)

java 1.3支持集合。您可以为此编写自己的ArrayList实现。我不确定“扩展”是什么意思。

答案 3 :(得分:0)

您可以在此处找到如何优化JDK 1.3或1.2中的集合 http://www.precisejava.com/javaperf/j2se/Collections.htm#Collections102