The list of methods to do Array Merge are organized into topic(s).
void
arrayMerge16bit(byte[] sourceArray, int sourceStart, byte[] destinationArray, int destinationStart, int length) Merges two byte arrays -- source and destination -- together by summing field-wise where a field is a 16bit word, which is two of these array bytes.
if (sourceArray.length - sourceStart < length || destinationArray.length - destinationStart < length) {
throw new IllegalStateException("Length too large for input arrays.");
for (int i = 0; i < length; i = i + 2) {
int srcValue = (sourceArray[sourceStart + i] & 0xFF) | (sourceArray[sourceStart + i + 1] << 8);
int dstValue = (destinationArray[destinationStart + i] & 0xFF)
| (destinationArray[destinationStart + i + 1] << 8);
int sum = srcValue + dstValue;
...
double[]
concat(double[] merged, double[] is) Concatenates two double arrays.
double result[] = new double[merged.length + is.length];
result = Arrays.copyOf(merged, merged.length + is.length);
System.arraycopy(is, 0, result, merged.length, is.length);
return result;
byte[]
merge(byte[] a, byte[] b) merge
int total = a.length + b.length;
byte[] c = new byte[total];
for (int i = 0; i < a.length; i++) {
c[i] = a[i];
for (int i = 0; i < b.length; i++) {
c[a.length + i] = b[i];
return c;
byte[]
merge(byte[] array1, byte[] array2) merge
byte[] result = new byte[array1.length + array2.length];
int saltOffset = array1.length;
for (int i = 0; i < result.length; i++) {
if (i < saltOffset) {
result[i] = array1[i];
} else {
result[i] = array2[i - saltOffset];
return result;
byte[]
merge(byte[] signature, byte[] message) merge
byte[] result = new byte[signature.length + message.length];
System.arraycopy(signature, 0, result, 0, signature.length);
System.arraycopy(message, 0, result, signature.length, message.length);
return result;
byte[]
merge(byte[] src, byte[] src2, int start, int length) merge
byte[] dest = new byte[src.length + length];
System.arraycopy(src, 0, dest, 0, src.length);
System.arraycopy(src2, start, dest, src.length, length);
return dest;
byte[]
merge(byte[] src1, byte[] src2) merge
if (null == src1 || src1.length == 0)
return src2;
if (null == src2 || src2.length == 0)
return src1;
int alen = src1.length;
int blen = src2.length;
byte[] dest = Arrays.copyOf(src1, alen + blen);
System.arraycopy(src2, 0, dest, alen, blen);
...
byte[]
merge(byte[]... arrays) merge
int arrCount = 0;
int count = 0;
for (byte[] array : arrays) {
arrCount++;
count += array.length;
byte[] mergedArray = new byte[count];
int start = 0;
...
byte[]
merge(byte[]... bytes) merge
byte[] result = null;
int length = 0;
for (byte[] t : bytes) {
length += t.length;
result = new byte[length];
int index = 0;
for (byte[] t : bytes) {
...