区别主要有:1、数组的空间大小不同;2、储存内容不同。Array的长度在定义后是不可改变的,ArrayList的长度是可变的,java程序中子带了添加方法,可以自动新增一个数组并且添加完后会自动抛弃旧数组。
1、数组的空间大小不同
Array的长度在定义后是不可改变的,如果这时候我们需要在数组中添加其他的元素的时候,就必须要新建一个数组且数组长度比原数组长度多一,然后再把数组中的内容复制到新数组中,最后再根据下标添加需要的内容。
ArrayList的长度是可变的,java程序中子带了添加方法,可以自动新增一个数组并且添加完后会自动抛弃旧数组。并且,每次添加新数组的时候都会自动检查数组中的空间是否足够
2、储存内容不同
Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。
需要注意的一点是,Array在储存时,只能储存同一种数据类型,如果定义的是整数类数组,那么这个数组中就只能存储整数。而ArrayListZ在存储整数数据类型的时候,会吧整数变成Object。
延伸阅读:
什么是array?
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便, 把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。
数组是用于储存多个相同类型数据的集合。
文章标题:arraylist和array在内存分配和调用、编译上的区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38865