3 回答

TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個(gè)贊
一個(gè)簡(jiǎn)單的for循環(huán)就可以了,這并不困難,但是取決于您復(fù)制值的順序。例如(基于您的示例中所有數(shù)組都具有相同長(zhǎng)度的事實(shí)):
int[] newArray = new int[3 * a.length];
int index = 0;
for (int n = 0; n < a.length; n++) {
newArray[index++] = a[n];
newArray[index++] = b[n];
newArray[index++] = c[n];
}
或(不同順序,a,b,c的長(zhǎng)度可以不同):
int[] newArray = new int[a.length + b.length + c.length];
System.arraycopy(a, 0, newArray, 0, a.length);
System.arraycopy(b, 0, newArray, a.length, b.length);
System.arraycopy(c, 0, newArray, a.length + b.length, c.length);

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
使用番石榴,您可以使用
int[] all = Ints.concat(originalArray);
要么
int[] all = Ints.concat(a, b, c);

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
使用Java 8,您可以“ flatMap”內(nèi)部數(shù)組:
int[] flatArray = Arrays.stream(originalArray)
.flatMapToInt(Arrays::stream)
.toArray();
要么:
int[] flatArray = Stream.of(a, b, c)
.flatMapToInt(Arrays::stream)
.toArray();
添加回答
舉報(bào)