@Override public SparseByteArray concatenate(List<SparseByteArray> ins) { final SparseByteArray result = copy(); for (int i=0; i<ins.size(); i++) { final int oldLength = result.length; result.setLength(oldLength + ins.get(i).length); for (Entry e : ins.get(i).entries()) { result.set(e.index + oldLength, e.value); } } return result; } }
@Override public SparseByteArray concatenate(SparseByteArray... ins) { final SparseByteArray result = copy(); for (int i=0; i<ins.length; i++) { final int oldLength = result.length; result.setLength(oldLength + ins[i].length); for (Entry e : ins[i].entries()) { result.set(e.index + oldLength, e.value); } } return result; }
/** * Concatenate multiple arrays into a single new array. * * @param arrays the arrays to concatenate. * @return the new concatenated array */ public static SparseByteArray concatenateArrays(SparseByteArray... arrays) { SparseByteArray concat = arrays[0].copy(); for (int i=1; i<arrays.length; i++) { if (arrays[i] != null) { int oldLength = concat.length; concat.setLength(oldLength + arrays[i].length); for (Entry e : arrays[i].entries()) concat.set(e.index + oldLength, e.value); } } return concat; }