Java中定义动态长度数组的5种方法,轻松应对各种场景

在Java中,动态长度数组是一个非常有用的概念,它允许我们在运行时创建和调整数组的大小。以下是五种在Java中定义动态长度数组的方法:
方法一:使用基本类型数组
Java中的基本类型数组可以在创建时指定长度,但在创建后无法更改。要实现动态长度,我们需要使用包装类数组,并手动管理长度。
public class DynamicArrayExample {
public static void main(String[] args) {
// 创建一个Integer数组,长度为3
Integer[] array = new Integer[3];

// 动态添加元素
array[0] = 1;
array[1] = 2;
array[2] = 3;

// 增加数组长度
Integer[] newArray = new Integer[array.length + 1];
System.arraycopy(array, 0, newArray, 0, array.length);
newArray[array.length] = 4;

// 输出结果
for (int i = 0; i < newArray.length; i++) { System.out.println(newArray[i]); } } } 方法二:使用ArrayList ArrayList 是一个可调整大小的数组实现,它允许动态添加和删除元素。 import java.util.ArrayList; import java.util.List; public class DynamicArrayExample { public static void main(String[] args) { // 创建一个ArrayList List list = new ArrayList<>();

// 动态添加元素
list.add(1);
list.add(2);
list.add(3);

// 增加元素
list.add(4);

// 输出结果
for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } } 方法三:使用LinkedList LinkedList 是一个双向链表实现,它也支持动态添加和删除元素。 import java.util.LinkedList; import java.util.List; public class DynamicArrayExample { public static void main(String[] args) { // 创建一个LinkedList List list = new LinkedList<>();

// 动态添加元素
list.add(1);
list.add(2);
list.add(3);

// 增加元素
list.add(4);

// 输出结果
for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } } 方法四:使用数组加索引 对于简单的场景,我们可以使用基本类型数组和一个索引来手动管理数组长度。 public class DynamicArrayExample { public static void main(String[] args) { // 初始化数组长度 int[] array = new int[3]; int index = 0; // 动态添加元素 array[index++] = 1; array[index++] = 2; array[index++] = 3; // 增加数组长度 int[] newArray = new int[array.length + 1]; System.arraycopy(array, 0, newArray, 0, array.length); newArray[array.length] = 4; // 输出结果 for (int i = 0; i < newArray.length; i++) { System.out.println(newArray[i]); } } } 方法五:使用数组和循环 对于更复杂的场景,我们可以使用数组和一个循环来动态添加元素。 public class DynamicArrayExample { public static void main(String[] args) { // 初始化数组长度 int[] array = new int[3]; int index = 0; // 动态添加元素 for (int i = 1; i <= 3; i++) { array[index++] = i; } // 增加元素 array[index++] = 4; // 输出结果 for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } } 以上五种方法都可以在Java中定义动态长度数组。选择哪种方法取决于具体的应用场景和性能要求。