在集合中,主要功能需求之一就是获取要存储在我们的集合中的元素数量,以便可以决定是否在其中添加更多元素。同样,元素的数量对于集合的迭代也是必需的。
众所周知,Array和Arraylist都用于存储元素,但是都有不同的定义方法,以便知道其中存储的元素数量。
数组具有一个length方法,该方法提供可以存储的元素数量或简单的数组容量。同样,length方法还定义了在数组初始化期间分配的总空间。同样,在初始化期间,我们定义数组的长度是多少,将创建相同数量的数组类型的块,并且JVM使用默认值初始化每个块。
另一方面,ArrayList没有length方法,但是它具有名为size的方法,用于计算存储在其中的元素数量。我们知道ArrayList随着元素添加到其中而动态增长。如果当前元素(包括要添加到ArrayList的新元素)的大小大于数组的最大大小,则会创建相同大小的新Array并将旧数组复制到该数组中,从而发生这种情况新数组。