【问题标题】:Java store object in a collection with fixed size [duplicate]Java将对象存储在具有固定大小的集合中[重复]
【发布时间】:2014-01-05 01:35:46
【问题描述】:

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

【问题讨论】:

  • 如何编写自己的类,在内部使用列表并在添加元素时强制执行上述限制?
  • 你为什么用JDK 1.3

标签: java list map set


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2017-03-06
          • 2010-12-23
          • 1970-01-01
          • 1970-01-01
          • 2012-02-13
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多