我想向我已經存在的陣列添加一個新值。我用現有陣列的長度創建了一個新陣列,并為新值添加了一個位置。
public class Measurement {
private int[] data;
public Measurement() {
data = new int[0];
}
public static void addValue(int value) {
int [] a = new int [data.length 1];
for(int i = 0; i < data.length; i ) {
a[i] = data[i];
a[i 1] = value;
}
for(int i: a) {
System.out.println(i);
}
}
}
我用一個已經初始化的陣列嘗試過它并且它有效,但我不知道我現有的嘗試它沒有什么。
int[] a = {1,3,4,5,6,9};
int value = 10;
int[] b = new int[a.length 1];
for(int i = 0; i < a.length; i ) {
b[i] = a[i];
b[i 1] = value;
}
for (int i : b) {
System.out.println(i);
}
uj5u.com熱心網友回復:
public class Measurement {
private int[] data = new int[0];
public void addValue(int value) {
int[] arr = new int[data.length 1];
System.arraycopy(data, 0, arr, 0, data.length);
arr[arr.length - 1] = value;
data = arr;
}
}
替代方式:
public class Measurement {
private int[] data = new int[0];
public void addValue(int value) {
data = Arrays.copyOf(data, data.length 1);
data[data.length - 1] = value;
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/341254.html
下一篇:當陣列的索引值不唯一時使用什么?
