: Ben bu yüzden kabul yazdığını
double[] singleDimensionDoubleArray =
Arrays.stream(singleDimensionIntArray).asDoubleStream().toArray()
üzerinde döngü ile daha hızlı bir versiyonunu olurdu satırlar:
int[][] iArray = {
{1, 2,},
{5, 6,}
};
double[][] dArray = new double[iArray.length][];
for (int row = 0; row < iArray.length; row++) {
dArray[row] = Arrays.stream(iArray[row]).asDoubleStream().toArray();
}
Bu yanıt sonrası üzereydim ama safça her eleman olduğu üzerinde döngü ne kadar hızlı hakkında bazı ölçümleri göndermek düşündüm. Bu 10x daha yavaş etrafında çıktı! 10000x1000 sıfır dizisiyle test ettim. Sanırım yavaşlamaya neden olan fazladan nesne oluşturma. başkası başka türlü ispat edemediği sürece
, ben basit çözüm aslında en hızlı olduğunu düşünüyorum:
for (int row = 0; row < iArray.length; row++) {
for (int column = 0; column < iArray[0].length; column++) {
dArray[row][column] = (double) iArray[row][column];
}
}
Emin misiniz ... ??? – Lion
Evet. Kaynaklarım, konuyla ilgili kendi araştırmam. ;) Çevrenizde gezinmek sizi aynı sonuca götürecektir. – Vache
+1. Bu tek yoldur. Anlaştık mı. –