我正在编写一个程序,它有一个叫做data的双数组.
到目前为止,我的代码如下.
public class DataSet {
private double[] data;
private int dataSize;
public DataSet(){
dataSize = 0;
data = new double [10];
}
public void add(double x){
if(dataSize>= data.length){
double[] newData = new double[data.length*2];
System.arraycopy(data, 0, newData, 0, data.length);
newData=data;
newData[dataSize]=x;
dataSize++;
}
else{
data[dataSize] = x;
dataSize++;
}
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在使用add方法向数组添加新值.但是我不确定的是,当我这样做时
newData=data;
Run Code Online (Sandbox Code Playgroud)
我可以将此更改转到下一行吗?
data[DataSize] = x;
Run Code Online (Sandbox Code Playgroud)
我之所以要问的是,通过设置两个数组是否彼此相等,每当我调用数据时,我实际上是在调用newData.
你需要重新分配data.JVM中还有一些工具可以帮助您.
public void add(double x) {
if (dataSize >= data.length)
data = Arrays.copyOf(data, data.length * 2);
data[dataSize++] = x;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8445 次 |
| 最近记录: |