Java Array Join joinBytesArrays(byte[]... args)

Here you can find the source of joinBytesArrays(byte[]... args)

Description

join Bytes Arrays

License

Open Source License

Parameter

Parameter Description
args byte arrays to join

Return

a single byte array from many

Declaration

public static byte[] joinBytesArrays(byte[]... args) 

Method Source Code

//package com.java2s;
/**//from   ww w  .java 2 s  . c o m
 * Copyright (c) 11/05/16, Jonas Waage
 * <p>
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
 * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
 * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
 * <p>
 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 * <p>
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
 * WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */

import java.util.Arrays;
import java.util.List;

public class Main {
    /**
     *
     * @param args byte arrays to join
     * @return a single byte array from many
     */
    public static byte[] joinBytesArrays(byte[]... args) {
        return joinBytesArrays(Arrays.asList(args));
    }

    /**
     *
     * @param args byte arrays to join
     * @return a single byte array from many
     */
    public static byte[] joinBytesArrays(List<byte[]> args) {
        int n = args.stream().map(i -> i.length).reduce(0, Integer::sum);
        byte[] out = new byte[n];

        int i = 0;
        for (byte[] arg : args) {
            for (byte b : arg) {
                out[i] = b;
                i++;
            }
        }
        return out;
    }
}

Related

  1. join(T[] objs, String splitString)
  2. joinArrays(T[] a, T[] b)
  3. joinAttributes(final String[] atts1, final String[] atts2)
  4. joinByComma(String[] values)
  5. joinByteArrays(final byte[] array1, byte[] array2)
  6. joiner(int[] ints, String split)
  7. joinParetos(double[][] pareto1, double[][] pareto2)
  8. joinString(String delimiter, String[] strings)
  9. joinString(String[] array)