集册 Java实例教程 向给定数组添加填充,以便生成具有给定长度的新数组。

向给定数组添加填充,以便生成具有给定长度的新数组。

欢马劈雪     最近更新时间:2020-01-02 10:19:05

405
提示:您可在线编辑运行本教程的实例 - 运行实例,去试试!
将填充添加到给定的数组,以便生成具有给定长度的新数组。


//package com.nowjava;


import java.util.Arrays;// from n o w  j a v a  . c o m


public class Main {

    public static void main(String[] argv) throws Exception {

        byte[] array = new byte[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };

        byte value = 2;

        int newLength = 2;

        System.out.println(java.util.Arrays.toString(padArray(array, value,

                newLength)));

    }


    /**

     * Adds a padding to the given array, such that a new array with the given

     * length is generated.

     * 

     * @param array

     *            the array to be padded.

     * @param value

     *            the padding value.

     * @param newLength

     *            the new length of the padded array.

     * @return the array padded with the given value.

     */

    public static byte[] padArray(byte[] array, byte value, int newLength) {

        int length = array.length;

        int paddingLength = newLength - length;
/* from n o w j a   v  a . c o m - 时  代  Java*/

        if (paddingLength < 1) {

            return array;

        } else {

            byte[] padding = new byte[paddingLength];

            Arrays.fill(padding, value);


            return concatenate(array, padding);

        }


    }


    /**

     * Concatenates two byte arrays.

     * 

     * @param a

     *            the first array.

     * @param b

     *            the second array.

     * @return the concatenated array.

     */

    public static byte[] concatenate(byte[] a, byte[]
展开阅读全文