Java中List和ArrayList的区别

如题所述

List:是一个有序的集合,可以包含重复的元素。提供了按索引访问的方式。它继承 Collection。
List有两个重要的实现类:ArrayList 和 LinkedList
ArrayList:我们可以将其看作是能够自动增长容量的数组。
利用ArrayList的toArray()返回一个数组。
Arrays.asList()返回一个列表。
1.ArrayList底层采用数组实现,当使用不带参数的构造方法生成ArrayList对象时,实际上会在底层生成一个长度为10的Object类型数组
2.如果增加的元素个数超过了10个,那么ArrayList底层会新生成一个数组,长度为原数组的1.5倍+1,然后将原数组的内容复制到新数组当中,并且后续增加的内容都会放到新数组当中。当新数组无法容纳增加的元素时,重复该过程。
3.对于ArrayList元素的删除操作,需要将被删除元素的后续元素向前移动,代价比较高。
4.集合当中只能放置对象的引用,无法放置原生数据类型,我们需要使用原生数据类型的包装类才能加入到集合当中。
5.集合当中放置的都是Object类型,因此取出来的也是Object类型,那么必须要使用强制类型转换将其转换为真正的类型(放置进去的类型)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-23
ArrayList是list的一个实现类,list是一个接口,还有linkedList是其中的另外一个实现类
用法:List<String> list = new ArrayList<String>();
list.add("a");本回答被提问者采纳
第2个回答  2017-07-23
ArrayList是List的一个子类。List是接口,List特性就是有序,会确保以一定的顺序保存元素。ArrayList是它的实现类,是一个用数组实现的List。List不能直接实例化,必须用子类来实现。List list = new ArrayList();追答

你还想问什么

相似回答