数组(Array)和列表(ArrayList) LinkedList 有什么区别?
2017-05-24 21:19
274 查看
数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用 Array 而不是ArrayList ? 下面列出了 Array 和 ArrayList 的不同点:Array 可以包含基本类型和对象类型,ArrayList 只能包含对象类型。Array 大小是固定的,ArrayList 的大小是动态变化的。ArrayList 提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等。对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢。
ArrayList 和 LinkedList 有什么区别?ArrayList 和 LinkedList 都实现了 List 接口,他们有以下的不同点:ArrayList 是基于索引的数据接口,它的底层是数组。它可以以 O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList 是以元素列表的形式存储它的数据,每一个元素都和它的前 一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是 O(n)。相对于 ArrayList ,LinkedList 的插入,添加,删除操作速度更快,因为当元素被添加到集合任
意位置的时候,不需要像数组那样重新计算大小或者是更新索引。LinkedList 比 ArrayList 更占内存,因为 LinkedList 为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。也可以参考 ArrayList vs. LinkedList 。
ArrayList 和 LinkedList 有什么区别?ArrayList 和 LinkedList 都实现了 List 接口,他们有以下的不同点:ArrayList 是基于索引的数据接口,它的底层是数组。它可以以 O(1)时间复杂度对元素进行随机访问。与此对应,LinkedList 是以元素列表的形式存储它的数据,每一个元素都和它的前 一个和后一个元素链接在一起,在这种情况下,查找某个元素的时间复杂度是 O(n)。相对于 ArrayList ,LinkedList 的插入,添加,删除操作速度更快,因为当元素被添加到集合任
意位置的时候,不需要像数组那样重新计算大小或者是更新索引。LinkedList 比 ArrayList 更占内存,因为 LinkedList 为每一个节点存储了两个引用,一个指向前一个元素,一个指向下一个元素。也可以参考 ArrayList vs. LinkedList 。
相关文章推荐
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用 Array 而不是 ArrayList?
- java 集合 之 链表和线性表以及ArrayList的各方法的介绍及示例 及 ArrayList与LinkedList的区别分析 及 ArrayList与Array(数组)的区别
- 数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?
- 数组(Array)和列表(ArrayList)的区别?什么时候应该使用Array?
- c# 数组(Array),ArrayList ,List 的区别与联系(摘录)
- String[]数组,ArrayList 和 LinkedList的区别
- ArrayList 和 LinkedList 和Vector使用上有什么区别?实现上有什么区别?
- c# 数组(Array),ArrayList ,List 的区别与联系
- Hastable和Dictionary以及ArrayList和(List,LinkedList,数组)的区别
- ArrayList 和 LinkedList 和Vector使用上有什么区别?实现上有什么区别?
- C#中的数组类型[],List,Array,ArrayList的区别
- Array, ArrayList, LinkedList之间的区别分析
- C#中Array与ArrayList与泛型数组 list<>的区别
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别是什么?
- Vector,ArrayList,LinkedList 的区别是什么?
- c#中List、Dictionary、ArrayList、Hashtable和数组的区别是什么?
- c# 数组(Array),ArrayList ,List 的区别与联系
- c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别是什么?
- ArrayList和LinkedList的区别是什么?举例说明LinkedList可实现的功能
- ArrayList、Vector、LinkedList有什么区别?