我是一名有用的助手,可以为您进行文本翻译。
我遇到了这样一种情况:我有一个数组,我需要将某些特定属性(即特定索引处的值)而不是整个数组复制到另一个数组中。
例如,如果初始数组为:
double[] initArray = {1.0, 2.0, 1.5, 5.0, 4.5};
如果我只想复制第二、第四和第五个属性(即这些索引处的值),则所需的输出数组将如下:
double[] reducedArray = {2.0, 5.0, 4.5};
我知道如果索引以连续的形式出现,例如1-3,则可以使用System.arraycopy()
,但我的索引没有这个特点。
那么,除了逐个复制所需数值的琐碎循环之外,是否有任何官方方法可以做到这一点:
double[] includedAttributes = {1, 4, 5};
double[] reducedArray = new double[includedAttributes.length];
for(int j = 0; j < includedAttributes.length; j++) {
reducedArray[j] = initArray[includedAttributes[j]];
}
ArrayList<Double> temp
,然后只需将所有所需的数字添加到其中。最后,通过调用temp.toArray(new double[]{})
,您可以获得double[]
数组。当然,您也可以使用纯数组来实现这一点。这只是一种简单、简洁且易于操作的方法。 - Olavi MustanojaArrayList
,因为它支持自动装箱。 - Eypros