ArrayList、LinkedList这两个类都实现了List接口,但他们以下特性中又有所不同:
•ArrayList是基于索引的数据结构,底层由Array支持实现。它提供了以时间复杂度为O(1)的性能随机访问它的元素,另一方面,LinkedList以元素列表的方式来存储它的数据,每一个元素与它前一个和后一个元素都是相连的。对元素查询操作的时间复杂度为O(n).
•对元素的插入、添加、移除操作,与ArrayList相比,LinkedList更快,因为,当一个元素被添加到集合内部的任意位置时,LinkedList不需要重新调整数组大小或者更新索引。
•LinkedList比ArrayList消耗更多的内存,因为LinkedList中每一个节点都存储了两个引用,一个是它前一个元素,一个是它后一个元素
|
|