需要存储字符串ID的队列类型数据结构

时间:2015-09-04 06:49:14

标签: java

我们有一个场景需要存储有限数量的字符串ID。通常30。 我们有以下条件。

  1. 如果有人添加31,那么需要删除最旧的并添加 新的那一个。
  2. 如果某人添加了相同的ID,则需要删除最旧的ID并在顶部添加新的。
  3. 目前Guava有EvictingQueue.But不知道它应该允许重复。如果重复需要删除最旧的一个并添加新的顶部

2 个答案:

答案 0 :(得分:1)

它看起来像一个学校项目,但我只建议这个主题。

在Wikipedia上查找队列算法并在Java中实现。使用pop和push methdods。

第二,在队列上使用迭代并更新值。

答案 1 :(得分:1)

如果我正确理解你的问题然后执行 java.util.Deque(例如java.util.ArrayDequeue)可能就是您要找的对象。它是一个'双端'队列,允许你在两端推/弹元素。因此,您可以使用“addFirst”将新元素放入到队列中,并使用“removeLast”删除最旧的元素。