将数组拆分为 X 长度的片段
2022-09-03 12:34:21
目前我有一个大小为N的数组。我正在尝试从数组中复制每个 X 数量的字节。
示例,如果数组大小为 10,而我想要大小为 3 的数组。我会复制前3个元素,然后是接下来的3个元素和最后一个1。
目前我正在使用以下算法:
int I = 0;
int sub = bytes.length;
int counter = 0;
for (I = 0; I < bytes.length; ++I) {
if (I % 3 == 0 && I != 0) {
NewArray[counter] = Arrays.copyOfRange(bytes, I - 3, I));
sub -= 3;
++counter;
}
}
NewArray[counter] = Arrays.copyOfRange(bytes, I - sub, I)); //Copy remainder.
有没有更有效或更体面的方式来做我想做的事情?这个算法看起来很糟糕= l
任何想法,我该如何改进它,或者至少是一个提示?