使用`ArrayList`
`ArrayList`是Java集合框架的一部分,它实现了`List`接口,可以通过动态数组实现可变长度的功能。
import java.util.ArrayList;
public class DynamicArrayExample {
public static void main(String[] args) {
ArrayList
ids = new ArrayList<>(); ids.add(10);
ids.add(20);
ids.add(30);
System.out.println("ArrayList size is " + ids.size());
System.out.println("ArrayList elements are " + ids);
ids.clear();
System.out.println("ArrayList size is " + ids.size());
System.out.println("ArrayList elements are " + ids);
}
}
使用`Vector`
`Vector`类中的方法是同步的,与`ArrayList`类似,也可以实现可增长数组的功能。
import java.util.Vector;
public class DynamicArrayExample {
public static void main(String[] args) {
Vector
ids = new Vector<>(); ids.add(10);
ids.add(20);
ids.add(30);
System.out.println("Vector size is " + ids.size());
System.out.println("Vector elements are " + ids);
ids.clear();
System.out.println("Vector size is " + ids.size());
System.out.println("Vector elements are " + ids);
}
}
使用`Arrays.copyOf()`方法
这个方法可以用来扩展或缩小数组的大小。
import java.util.Arrays;
public class DynamicArrayExample {
public static void main(String[] args) {
int[] array = {1, 2, 3};
array = Arrays.copyOf(array, array.length * 2);
System.out.println("Expanded array is " + Arrays.toString(array));
}
}
手动循环扩增
通过循环将原数组的元素复制到一个新的、长度更长的数组中。
public class DynamicArrayExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
int[] tempArray = new int[arr.length * 2];
for (int i = 0; i < arr.length; i++) {
tempArray[i] = arr[i];
}
System.out.println("Expanded array is " + Arrays.toString(tempArray));
}
}
使用`System.arraycopy()`方法
这个方法可以将一个数组的元素复制到另一个数组中,以达到扩增的目的。
public class DynamicArrayExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
int[] newArray = new int[arr.length * 2];
System.arraycopy(arr, 0, newArray, 0, arr.length);
System.out.println("Expanded array is " + Arrays.toString(newArray));
}
}
以上方法都可以用来创建可增长的数组。选择哪一种方法取决于具体的应用场景和个人偏好