Por razones de rendimiento es mejor usar arrays que colecciones, siempre que sea posible o conveniente.
Sin embargo, el JDK no contiene métodos para realizar operaciones usuales con arrays, como concatenar.
Siguen dos ejemplos que permiten concatenar dos o varios arrays.
public static <T> T[] concat(final T[] first, final T[] second) {
final T[] result = Arrays.copyOf(first, first.length + second.length);
System.arraycopy(second, 0, result, first.length, second.length);
return result;
}
@SafeVarargs
public static <T> T[] concatAll(final T[] first, final T[]... others) {
int totalLength = first.length;
for (T[] array : others) {
totalLength += array.length;
}
final T[] result = Arrays.copyOf(first, totalLength);
int offset = first.length;
for (T[] array : others) {
final int length = array.length;
System.arraycopy(array, 0, result, offset, length);
offset += length;
}
return result;
}