繁体   English   中英

高效的java数据结构来删除和检索信息?

[英]Efficient java data structure to delete and retrieve information?

我遇到一种需要添加字符串的数据结构的情况。 该数据结构非常大。

我需要的特定品质是:

  1. 获取(索引)
  2. 删除超过限制时最初添加的一定数量的条目。(LIFO)

我试过使用ArrayList,但删除操作为o(n),对于链表,遍历或get()操作将为o(n)。

我还有什么其他选择?

循环缓冲区 -在引擎盖下使用数组实现的缓冲

LinkedHashSet可能很有趣。 它实际上是一个HashSet,但它还维护一个LinkedList以允许可预测的迭代顺序-因此也可以用作FIFO队列,其好处是它不能包含重复的条目。

因为它也是一个HashSet,所以如果搜索(与扫描相反)可以在equals()上匹配,则可以为O(1 equals()

你可以看看这个问题, 也。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM