性能 - 数据量 - ArrayList <string>,List <object> vs LinkedList <string>,LinkedList <object>

时间:2016-01-20 20:21:38

标签: java performance arraylist linked-list

在我在tomcat上部署的java应用程序中,大约有500K项(甚至可以向上) 添加到ArrayList。 然后,迭代这些列表以检查某些条件。

Que-对于这种情况,是否会使用LinkedList获得性能?

根据实际经验指出超过200K项目~100万项目的数据量。

大多数字符串和具有多个属性的对象列表主要是字符串 (基本上从DB获取数据,将其转换为Java对象并通过HTTP发送) 如果预计数据大小将保持在100K或更低,那么会有差异

1 个答案:

答案 0 :(得分:0)

看到这个问题: When to use LinkedList over ArrayList?

  

LinkedList允许使用常量插入或删除   迭代器,但只是元素的顺序访问。换句话说,你   可以向前或向后走列表,但在中找到一个位置   list需要的时间与列表的大小成正比。

     另一方面,

ArrayList允许快速随机读取访问,所以你   可以在恒定时间内抓住任何元素。但添加或删除   在任何地方,但最终需要将所有后面的元素移动,   要么开口要么填补空白。此外,如果您添加更多   元素比底层数组的容量,一个新的数组(1.5   分配大小的时间,并将旧数组复制到新数组   一,所以在最坏的情况下添加到ArrayList是O(n)但是常量   平均而言。