所以我很困惑为什么这不被认为是动态阵列?
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
int n = in.nextInt();
int[] array = new int[n];
for ( int i = 0; i < n; i++) {
array[i] = i;
}
for ( int i = 0; i < n; i++) {
System.out.print(array[i]);
我应该在这里使用ArrayList还是这个用法好吗?
答案 0 :(得分:5)
Java没有动态数组。创建阵列后,大小无法更改。
ArrayList使用内部数组进行存储,但它会在内部调整数组大小,因此您不必担心它。
当然,它内部只是创建一个新的,更大的数组,并在需要更多空间时复制内容。
至于你对数组的使用是否正常,对于给定的场景,它是。如果您的数组内容大小未知或者可以更改,则切换到ArrayList而不是自己调整大小。