数组与List(集合)的区别

总结:

很多语言中都有数组,对于LIST,跟数学里的有序集合类似,这样两者的区别就比较明显了。

1、数组固定长度,一般是值的集合,需声明值类型;LIST是泛型集合,长度不固定,减少了拆箱装箱操作。当length不大时,两者无多大区别,较大时,使用数组更好。

2、数组可读可写不能声明只读数组。集合类可以提供ReadOnly方法以只读方式使用集合。.

3、数组要有整数下标才能访问特定的元素,高效,然而很多时候这样的下标并不是很有用。LIST集合也是数据列表却不使用下标访问,要使用索引。

LIST有两个重要的实现类,ArrayList和LinkedList.。两者区别是前者的toArray()返回一个数组。当用不带参的构造方法生成ArrayList时,底层会生成一个娄组,长度为10,当超过10个时,则生成一个新数组并复制原数组内容至新数组中,……。集合中放置的都是Object类型,取出也是Object类型,要强制转换。 

Arrays.toList()返回一个集合。

 

你可能感兴趣的:(Java)