Java - 最有效的方法来存储一堆对象,然后迭代它们,其中数量未知且顺序无关紧要?

Tim*_*Tim 1 java data-structures

"数量是未知的"我的意思是,在创建我用来存储它们的任何数据结构时,我不知道最终将存储多少个对象.一旦我拥有了所有这些对象,我希望能够遍历所有这些对象,并且无论我访问它们的顺序都无关紧要.我想知道什么是最有效的(在时间和空间上,但主要是时间)在java中这样做的方法.

对的对象会出现在事情的最大数量上限,所以我正在考虑只是让这种大小的数组.但我不想浪费空间,阵列最终可能会比实际存储在其中的元素数量大两倍.

我也在考虑使用LinkedList,因为我认为迭代它可能比从一个像hashmap这样的东西创建一个迭代器并迭代它更有效.但我不知道从各种java数据结构创建迭代器有多昂贵.

那么,有什么想法吗?

Ton*_*nis 7

使用ArrayList.这将允许您无问题地迭代项目.您的尺寸不会受到过度限制,您不必提前知道多少件物品.