在我部署在tomcat上的java应用程序中,大约有500K个项目(甚至可以向上)是添加到数组列表。然后,迭代这些列表以检查某些条件。
Que-对于这种情况,使用LinkedList会提高性能吗?
任何来自实践经验的指示,数据量超过200K项~100万项。
主要是字符串列表和具有多个属性的对象,主要是字符串(基本上是从数据库获取数据,将其转换为Java对象并通过HTTP发送)如果预计数据大小保持在 100K 或更小,是否会有所不同
看到这个问题:何时使用 LinkedList 而不是 ArrayList?
LinkedList 允许使用 迭代器,但只能顺序访问元素。换句话说,你 可以向前或向后浏览列表,但在 列表花费的时间与列表的大小成正比。
另一方面,ArrayList允许快速随机读取访问,因此您 可以在恒定的时间内抓取任何元素。但是添加或删除 除了目的之外的任何地方都需要将所有后一个元素转移过来, 要么开口,要么填补空白。另外,如果您添加更多 元素比底层数组的容量,一个新的数组(1.5 乘以大小),并将旧数组复制到新数组 一个,因此添加到 ArrayList 在最坏的情况下是 O(n) 但常量 平均而言。