在Java中,扩充数组通常意味着创建一个新的数组,并将原数组中的元素复制到新数组中,以便能够容纳更多的元素。以下是扩充Java数组的一些方法:
复制到新数组
int[] oldArray = {1, 2, 3};
int[] newArray = new int[oldArray.length + 2];
for (int i = 0; i < oldArray.length; i++) {
newArray[i] = oldArray[i];
}
// 添加新元素
newArray[oldArray.length] = 4;
使用`ArrayList`
List
list = new ArrayList<>(); list.addAll(Arrays.asList(1, 2, 3));
list.add(4);
// 转换为数组
int[] newArray = list.toArray(new int);
使用Apache Commons Lang
import org.apache.commons.lang3.ArrayUtils;
int[] oldArray = {1, 2, 3};
int[] newArray = ArrayUtils.add(oldArray, 4);
使用Guava
import com.google.common.collect.Lists;
int[] oldArray = {1, 2, 3};
List
list = Lists.newArrayList(oldArray); list.add(4);
int[] newArray = list.stream().mapToInt(Integer::intValue).toArray();
使用`System.arraycopy`
int[] oldArray = {1, 2, 3};
int[] newArray = new int[oldArray.length * 2];
System.arraycopy(oldArray, 0, newArray, 0, oldArray.length);
// 添加新元素
newArray[oldArray.length] = 4;
使用`Arrays.copyOf`
int[] oldArray = {1, 2, 3};
int[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
newArray[oldArray.length] = 4;
以上方法都可以实现数组的扩充。选择哪一种方法取决于具体的应用场景和个人偏好。需要注意的是,Java数组的大小在创建后是不可变的,因此必须通过上述方法之一来创建一个更大的数组来存放更多的元素