Javaでlong []をlong [] []にできるだけ早く変換する必要があります。 long []はlong []に完全に対応していない可能性があり、その場合は空の行をlong []に追加します。1次元配列からJavaの2次元への高速変換
現在のコードは次のようになります。これは、より効率的にする方法について
private long[][] convertOneDimensionalToTwoDimensional(int numberOfRows, int rowSize, long[] srcMatrix) {
int srcMatrixLength = srcMatrix.length;
int srcPosition = 0;
long[][] returnMatrix = new long[numberOfRows][];
for (int i = 0; i < numberOfRows; i++) {
long[] row = new long[rowSize];
int nextSrcPosition = srcPosition + rowSize;
if (srcMatrixLength >= nextSrcPosition) {
// Copy the data from the file if it has been written before. Otherwise we just keep row empty.
System.arraycopy(srcMatrix, srcPosition, row, 0, rowSize);
}
returnMatrix[i] = row;
srcPosition = nextSrcPosition;
}
return returnMatrix;
}
任意のアイデア?例えば、メモリコピーを避ける方法はありますか?
"メモリコピーを避ける方法はありますか?" No. – Thilo