java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Java中Array、List、ArrayList区别

Java中Array、List、ArrayList的区别及说明

作者:wiidi

这篇文章主要介绍了Java中Array、List、ArrayList的区别及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Array、List、ArrayList区别

Array

Array(数组)是基于索引(index)的数据结构,它使用索引在数组中搜索和读取数据是很快的。

Array获取数据的时间复杂度是O(1),但是要删除数据却是开销很大,因为这需要重排数组中的所有数据。

List

List—是一个有序的集合,可以包含重复的元素,提供了按索引访问的方式,它继承Collection。

List是一个接口,不能写成如下:

List<Integer> list = new List<Integer>();//错误

List有两个重要的实现类:ArrayList和LinkedList

ArrayList

继承关系

这里写图片描述

可以看作是能够自动增长容量的数组;

利用ArrayList的toArray返回一个数组;

Arrays.asList返回一个列表;

LinkedList

是一个双链表,在添加和删除元素时具有比ArrayList更好的性能.但在get与set方面弱于ArrayList.当然,这些对比都是指数据量很大或者操作很频繁。

Array和ArrayList有何区别?什么时候更适合用Array?

Array 可以容纳基本类型和对象,而 ArrayList 只能容纳对象。

Array 是指定大小的,而 ArrayList 大小是固定的。

Array 没有提供 ArrayList 那么多功能,比如 addAll 、 removeAll 和 iterator 等。尽管 ArrayList 明显是更好的选择,但也有些时候 Array 比较好用。

1 、如果列表的大小已经指定,大部分情况下是存储和遍历它们。

2 、对于遍历基本数据类型,尽管 Collections 使用自动装箱来减轻编码任务,在指定大小的基本类型的列表上工作也会变得很慢。

3 、如果你要使用多维数组,使用 [][] 比 List<List<>> 更容易。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文