缓冲区的最佳结构

时间:2017-05-10 08:32:21

标签: java performance data-structures buffer complexity-theory

我正在实现缓冲区,但我不确定应该使用哪种结构。

我正在考虑使用LinkedList,或者即使我不需要存储任何值,也可以使用HashMap(但我可以简单地设置一个空值)。

作为最高效率,我考虑使用HashMap,因为containsKey的复杂性是 O(1)

相反,LinkedList.contains的复杂性为 O(N)

但是,我仍然不确定是否应该丢弃LinkedList或任何其他结构。

谢谢。

1 个答案:

答案 0 :(得分:0)

缓冲区应该尽可能快,所以我会使用array(大多数使用alghoritms),复杂性 O(1)是你能得到的最好的。其他结构需要调用方法(额外时间),而且hashmap,即使 O(1)访问,也可以非常慢,当{{1}时由于哈希冲突,会频繁调用put个方法。