Java中大型列表的最佳列表实现是什么
2022-09-03 18:22:24
我必须创建一个包含n个元素的大型列表(最多可达100,000个)。列表中的每个元素都是一个整数,等效于列表的索引。在此之后,我必须在此列表中调用Collesions.shuffle。我的问题是,应该使用哪个列表实现(java集合或apache集合)。我的直觉是ArrayList可以在这里使用。所有的想法都值得赞赏。谢谢!
感谢您的输入。我想我坚持使用ArrayList。我目前正在使用具有初始容量参数的ArrayList构造函数,并且我传递了列表的大小。因此,如果原始列表是100000,我使用新的ArrayList(100000)创建这个新列表;因此,我认为我没有创建数组并执行asList,因为不会有任何大小调整。此外,大多数apache集合列表(如GrowthList和LazyList)都没有实现RandomAccess。这肯定会减慢洗牌的速度(根据javadocs)。FastArrayList确实实现了RandomAccess,但apache为这个类做了一个注释,说“这个类不是跨平台的。使用它可能会导致某些体系结构出现意外故障”。