Java中Array长度和ArrayList大小的区别
Array 具有 length
属性,该属性提供 Array 对象的长度。 它是数组初始化期间在内存中分配的总空间。 数组是静态的,所以当我们创建一个大小为 n
的数组时,会创建 n 个数组类型的块,并且 JVM 会按默认值初始化每个块。可以通过下图中看到这一点。
另一方面,java ArrayList
没有 length
属性。 java ArrayList
具有用于 ArrayList
的 size()
方法,该方法提供集合中可用对象的总数。
注:使用
length
属性在 Java 中查找 Array 的长度,使用size()
来查找ArrayList
的大小。
下面是上述思想的实现:
// Java code to illustrate the difference between
// length in java Array and size in ArrayList
import java.util.ArrayList;
public class GFG {
// main method
public static void main(String[] args)
{
/* creating an array A[] for 10 elements */
String A[] = new String[10];
/* store 2 elements */
A[0] = "Hello";
A[1] = "Geeks!";
/* print length of array A[] */
System.out.println(A.length); // 10
/* Creating an ArrayList */
ArrayList<String> al = new ArrayList<String>();
/* add 3 elements */
al.add("G");
al.add("F");
al.add("G");
/* print size of ArrayList */
System.out.println(al.size()); // 3
}
}
运行结果:
10
3