我正在实现缓冲区,但我不确定应该使用哪种结构。
我正在考虑使用LinkedList,或者即使我不需要存储任何值,也可以使用HashMap(但我可以简单地设置一个空值)。
作为最高效率,我考虑使用HashMap,因为containsKey
的复杂性是 O(1)。
相反,LinkedList.contains
的复杂性为 O(N)。
但是,我仍然不确定是否应该丢弃LinkedList或任何其他结构。
谢谢。
答案 0 :(得分:0)
缓冲区应该尽可能快,所以我会使用array
(大多数使用alghoritms),复杂性 O(1)是你能得到的最好的。其他结构需要调用方法(额外时间),而且hashmap
,即使 O(1)访问,也可以非常慢,当{{1}时由于哈希冲突,会频繁调用put
个方法。