【发布时间】:2014-11-11 19:29:50
【问题描述】:
我有一个小问题:我有一个包含 5-10 个整数的集合。它们不会改变或其他任何东西,但它们始终存在。所以我的问题是哪个 Collection 对于 contains 方法应该是最好/最快的:ArrayList、LinkedList、Vector、HashSet 还是...?
【问题讨论】:
-
只有 5-10 个整数,我认为无论你选择其中任何一个,我都不认为你的表现会受到影响。
-
您的收藏太小,无法发挥作用。
-
但如果您想了解自己,这里有一个很好的参考。 bigocheatsheet.com
-
实际上 IMO(我要逆潮流而行)如果大量使用集合,那么是的,存在(大)差异。例如,让我们想象一下解析器中的一组局部变量(只是为了选择一个教科书示例)。除非一般要求符合您的场景,否则通常不存在这种高度优化的集合(是的,在这种情况下,HashSet 很好,但它不是最佳的)。假设你真的需要它:它是如何搜索的?多常?任何有价值的搜索模式?是否有一个(或多个元素)比其他元素搜索得更频繁?这是动态的还是静态的?
标签: java performance collections