Appends an element to array. - Java Collection Framework

Java examples for Collection Framework:Array Auto Increment

Description

Appends an element to array.

Demo Code

// Copyright (c) 2003-present, Jodd Team (jodd.org). All Rights Reserved.
import java.lang.reflect.Array;
import static jodd.util.StringPool.NULL;

public class Main{
    /**/*w  ww . j a  va  2 s . c o m*/
     * Appends an element to array.
     */
    public static <T> T[] append(T[] buffer, T newElement) {
        T[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>String</code> array.
     */
    public static String[] append(String buffer[], String newElement) {
        String[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>byte</code> array.
     */
    public static byte[] append(byte buffer[], byte newElement) {
        byte[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>char</code> array.
     */
    public static char[] append(char buffer[], char newElement) {
        char[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>short</code> array.
     */
    public static short[] append(short buffer[], short newElement) {
        short[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>int</code> array.
     */
    public static int[] append(int buffer[], int newElement) {
        int[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>long</code> array.
     */
    public static long[] append(long buffer[], long newElement) {
        long[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>float</code> array.
     */
    public static float[] append(float buffer[], float newElement) {
        float[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>double</code> array.
     */
    public static double[] append(double buffer[], double newElement) {
        double[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Appends an element to <code>boolean</code> array.
     */
    public static boolean[] append(boolean buffer[], boolean newElement) {
        boolean[] t = resize(buffer, buffer.length + 1);
        t[buffer.length] = newElement;
        return t;
    }
    /**
     * Resizes an array.
     */
    public static <T> T[] resize(T[] buffer, int newSize) {
        Class<T> componentType = (Class<T>) buffer.getClass()
                .getComponentType();
        T[] temp = (T[]) Array.newInstance(componentType, newSize);
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>String</code> array.
     */
    public static String[] resize(String buffer[], int newSize) {
        String temp[] = new String[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>byte</code> array.
     */
    public static byte[] resize(byte buffer[], int newSize) {
        byte temp[] = new byte[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>char</code> array.
     */
    public static char[] resize(char buffer[], int newSize) {
        char temp[] = new char[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>short</code> array.
     */
    public static short[] resize(short buffer[], int newSize) {
        short temp[] = new short[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>int</code> array.
     */
    public static int[] resize(int buffer[], int newSize) {
        int temp[] = new int[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>long</code> array.
     */
    public static long[] resize(long buffer[], int newSize) {
        long temp[] = new long[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>float</code> array.
     */
    public static float[] resize(float buffer[], int newSize) {
        float temp[] = new float[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>double</code> array.
     */
    public static double[] resize(double buffer[], int newSize) {
        double temp[] = new double[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
    /**
     * Resizes a <code>boolean</code> array.
     */
    public static boolean[] resize(boolean buffer[], int newSize) {
        boolean temp[] = new boolean[newSize];
        System.arraycopy(buffer, 0, temp, 0,
                buffer.length >= newSize ? newSize : buffer.length);
        return temp;
    }
}

Related Tutorials