Java数组如何add
在Java中,数组的长度是固定的,无法直接使用add方法动态添加元素。以下是几种实现类似动态添加功能的常见方法:
使用ArrayList替代数组
ArrayList是动态数组的实现,支持自动扩容和add方法:
import java.util.ArrayList;
ArrayList<String> list = new ArrayList<>();
list.add("元素1"); // 添加单个元素
list.add("元素2");
数组扩容手动实现
通过创建新数组并复制原数组内容来模拟扩容:
String[] originalArray = {"A", "B"};
String[] newArray = Arrays.copyOf(originalArray, originalArray.length + 1);
newArray[newArray.length - 1] = "C"; // 添加新元素
System.arraycopy方法
更高效的原生数组复制方式:
int[] src = {1, 2, 3};
int[] dest = new int[src.length + 1];
System.arraycopy(src, 0, dest, 0, src.length);
dest[dest.length - 1] = 4; // 添加新元素
Apache Commons Lang工具
使用第三方库的数组工具类:
import org.apache.commons.lang3.ArrayUtils;
String[] arr = {"a", "b"};
arr = ArrayUtils.add(arr, "c"); // 返回新数组
流式处理(Java 8+)
通过Stream实现数组拼接:
String[] arr1 = {"x", "y"};
String[] arr2 = Stream.concat(Arrays.stream(arr1), Stream.of("z"))
.toArray(String[]::new);
选择方案时应考虑:

- 频繁增删操作优先使用ArrayList
- 性能敏感场景考虑System.arraycopy
- 需要保持数组类型时选择扩容复制方案






