【发布时间】:2013-02-08 01:04:32
【问题描述】:
我需要一个集合类,它同时具有:快速索引和散列访问。
现在我有 ArrayList。它具有良好的索引访问权限,但他的 contains 方法性能不佳。 HashSet 有很好的contains 实现,但没有索引访问。哪个系列两者兼备?可能来自 Apache 的东西?
或者我应该创建自己的集合类,它同时具有:用于索引访问的 ArrayList 和用于contains 检查的 HashSet?
澄清一下:我需要get(int index) 和contains(Object o)
【问题讨论】:
-
你自己的数据结构包含两者(或一些变体)可能是要走的路。
-
你能解释一下为什么你想要这个吗?
-
是的,我可以。我有遗留代码,它几乎使用了 List 对象 (ArrayList) 的所有方法。我没有机会重写它,但我想提高它的性能。这里的主要问题是 contains 和 indexOf 方法,因为它们具有线性性能。
标签: java collections contains hashcode