All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.pincette.util.Array Maven / Gradle / Ivy

There is a newer version: 2.5.0
Show newest version
package net.pincette.util;

/** @author Werner Donn\u00e9 */
public class Array {
  private Array() {}

  public static  T[] append(final T[] array, final T object) {
    final T[] newArray = newArray(array, array.length + 1);

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = object;

    return newArray;
  }

  public static boolean[] append(final boolean[] array, final boolean b) {
    final boolean[] newArray = new boolean[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = b;

    return newArray;
  }

  public static byte[] append(final byte[] array, final byte b) {
    final byte[] newArray = new byte[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = b;

    return newArray;
  }

  public static char[] append(final char[] array, final char c) {
    final char[] newArray = new char[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = c;

    return newArray;
  }

  public static short[] append(final short[] array, final short s) {
    final short[] newArray = new short[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = s;

    return newArray;
  }

  public static int[] append(final int[] array, final int i) {
    final int[] newArray = new int[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = i;

    return newArray;
  }

  public static long[] append(final long[] array, final long l) {
    final long[] newArray = new long[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = l;

    return newArray;
  }

  public static float[] append(final float[] array, final float f) {
    final float[] newArray = new float[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = f;

    return newArray;
  }

  public static double[] append(final double[] array, final double d) {
    final double[] newArray = new double[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, array.length);
    newArray[newArray.length - 1] = d;

    return newArray;
  }

  public static  T[] append(final T[] array, final T[] objects) {
    final T[] newArray = newArray(array, array.length + objects.length);

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(objects, 0, newArray, array.length, objects.length);

    return newArray;
  }

  public static boolean[] append(final boolean[] array, final boolean[] booleans) {
    final boolean[] newArray = new boolean[array.length + booleans.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(booleans, 0, newArray, array.length, booleans.length);

    return newArray;
  }

  public static byte[] append(final byte[] array, final byte[] bytes) {
    final byte[] newArray = new byte[array.length + bytes.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(bytes, 0, newArray, array.length, bytes.length);

    return newArray;
  }

  public static char[] append(final char[] array, final char[] chars) {
    final char[] newArray = new char[array.length + chars.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(chars, 0, newArray, array.length, chars.length);

    return newArray;
  }

  public static short[] append(final short[] array, final short[] shorts) {
    final short[] newArray = new short[array.length + shorts.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(shorts, 0, newArray, array.length, shorts.length);

    return newArray;
  }

  public static int[] append(final int[] array, final int[] ints) {
    final int[] newArray = new int[array.length + ints.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(ints, 0, newArray, array.length, ints.length);

    return newArray;
  }

  public static long[] append(final long[] array, final long[] longs) {
    final long[] newArray = new long[array.length + longs.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(longs, 0, newArray, array.length, longs.length);

    return newArray;
  }

  public static float[] append(final float[] array, final float[] floats) {
    final float[] newArray = new float[array.length + floats.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(floats, 0, newArray, array.length, floats.length);

    return newArray;
  }

  public static double[] append(final double[] array, final double[] doubles) {
    final double[] newArray = new double[array.length + doubles.length];

    System.arraycopy(array, 0, newArray, 0, array.length);
    System.arraycopy(doubles, 0, newArray, array.length, doubles.length);

    return newArray;
  }

  public static boolean hasPrefix(final Object[] array1, final Object[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final boolean[] array1, final boolean[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final byte[] array1, final byte[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final char[] array1, final char[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final short[] array1, final short[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final int[] array1, final int[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final long[] array1, final long[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final float[] array1, final float[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasPrefix(final double[] array1, final double[] array2) {
    return hasSlice(array1, array2, 0, array2.length);
  }

  public static boolean hasSlice(
      final Object[] array, final Object[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if ((array[i + position] == null && slice[i] != null)
          || (array[i + position] != null && slice[i] == null)
          || !array[i + position].equals(slice[i])) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final boolean[] array, final boolean[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final byte[] array, final byte[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final char[] array, final char[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final short[] array, final short[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final int[] array, final int[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final long[] array, final long[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final float[] array, final float[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSlice(
      final double[] array, final double[] slice, final int position, final int len) {
    if (position + len > array.length || len > slice.length) {
      return false;
    }

    for (int i = 0; i < len; ++i) {
      if (array[i + position] != slice[i]) {
        return false;
      }
    }

    return true;
  }

  public static boolean hasSuffix(final Object[] array1, final Object[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final boolean[] array1, final boolean[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final byte[] array1, final byte[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final char[] array1, final char[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final short[] array1, final short[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final int[] array1, final int[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final long[] array1, final long[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final float[] array1, final float[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean hasSuffix(final double[] array1, final double[] array2) {
    return hasSlice(array1, array2, array1.length - array2.length, array2.length);
  }

  public static boolean inArray(final Object[] array, final Object object) {
    return indexOf(array, object) != -1;
  }

  public static boolean inArray(final boolean[] array, final boolean b) {
    return indexOf(array, b) != -1;
  }

  public static boolean inArray(final byte[] array, final byte b) {
    return indexOf(array, b) != -1;
  }

  public static boolean inArray(final char[] array, final char c) {
    return indexOf(array, c) != -1;
  }

  public static boolean inArray(final short[] array, final short s) {
    return indexOf(array, s) != -1;
  }

  public static boolean inArray(final int[] array, final int i) {
    return indexOf(array, i) != -1;
  }

  public static boolean inArray(final long[] array, final long l) {
    return indexOf(array, l) != -1;
  }

  public static boolean inArray(final float[] array, final float f) {
    return indexOf(array, f) != -1;
  }

  public static boolean inArray(final double[] array, final double d) {
    return indexOf(array, d) != -1;
  }

  public static int indexOf(final Object[] array, final Object object) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i].equals(object)) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final boolean[] array, final boolean b) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == b) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final byte[] array, final byte b) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == b) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final char[] array, final char c) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == c) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final short[] array, final short s) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == s) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final int[] array, final int i) {
    for (int j = 0; j < array.length; ++j) {
      if (array[j] == i) {
        return j;
      }
    }

    return -1;
  }

  public static int indexOf(final long[] array, final long l) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == l) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final float[] array, final float f) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == f) {
        return i;
      }
    }

    return -1;
  }

  public static int indexOf(final double[] array, final double d) {
    for (int i = 0; i < array.length; ++i) {
      if (array[i] == d) {
        return i;
      }
    }

    return -1;
  }

  public static  T[] insert(final T[] array, final int pos, final T object) {
    final T[] newArray = newArray(array, array.length + 1);

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = object;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static boolean[] insert(final boolean[] array, final int pos, final boolean b) {
    final boolean[] newArray = new boolean[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = b;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static byte[] insert(final byte[] array, final int pos, final byte b) {
    final byte[] newArray = new byte[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = b;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static char[] insert(final char[] array, final int pos, final char c) {
    final char[] newArray = new char[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = c;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static short[] insert(final short[] array, final int pos, final short s) {
    final short[] newArray = new short[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = s;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static int[] insert(final int[] array, final int pos, final int i) {
    final int[] newArray = new int[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = i;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static long[] insert(final long[] array, final int pos, final long l) {
    final long[] newArray = new long[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = l;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static float[] insert(final float[] array, final int pos, final float f) {
    final float[] newArray = new float[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = f;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static double[] insert(final double[] array, final int pos, final double d) {
    final double[] newArray = new double[array.length + 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    newArray[pos] = d;
    System.arraycopy(array, pos, newArray, pos + 1, array.length - pos);

    return newArray;
  }

  public static  T[] insert(final T[] array, final int pos, final T[] objects) {
    final T[] newArray = newArray(array, array.length + objects.length);

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(objects, 0, newArray, pos, objects.length);
    System.arraycopy(array, pos, newArray, pos + objects.length, array.length - pos);

    return newArray;
  }

  public static byte[] insert(final byte[] array, final int pos, final byte[] bytes) {
    final byte[] newArray = new byte[array.length + bytes.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(bytes, 0, newArray, pos, bytes.length);
    System.arraycopy(array, pos, newArray, pos + bytes.length, array.length - pos);

    return newArray;
  }

  public static char[] insert(final char[] array, final int pos, final char[] chars) {
    final char[] newArray = new char[array.length + chars.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(chars, 0, newArray, pos, chars.length);
    System.arraycopy(array, pos, newArray, pos + chars.length, array.length - pos);

    return newArray;
  }

  public static short[] insert(final short[] array, final int pos, final short[] shorts) {
    final short[] newArray = new short[array.length + shorts.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(shorts, 0, newArray, pos, shorts.length);
    System.arraycopy(array, pos, newArray, pos + shorts.length, array.length - pos);

    return newArray;
  }

  public static int[] insert(final int[] array, final int pos, final int[] ints) {
    final int[] newArray = new int[array.length + ints.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(ints, 0, newArray, pos, ints.length);
    System.arraycopy(array, pos, newArray, pos + ints.length, array.length - pos);

    return newArray;
  }

  public static long[] insert(final long[] array, final int pos, final long[] longs) {
    final long[] newArray = new long[array.length + longs.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(longs, 0, newArray, pos, longs.length);
    System.arraycopy(array, pos, newArray, pos + longs.length, array.length - pos);

    return newArray;
  }

  public static float[] insert(final float[] array, final int pos, final float[] floats) {
    final float[] newArray = new float[array.length + floats.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(floats, 0, newArray, pos, floats.length);
    System.arraycopy(array, pos, newArray, pos + floats.length, array.length - pos);

    return newArray;
  }

  public static double[] insert(final double[] array, final int pos, final double[] doubles) {
    final double[] newArray = new double[array.length + doubles.length];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(doubles, 0, newArray, pos, doubles.length);
    System.arraycopy(array, pos, newArray, pos + doubles.length, array.length - pos);

    return newArray;
  }

  @SuppressWarnings("unchecked")
  private static  T[] newArray(final T[] array, final int length) {
    return (T[]) java.lang.reflect.Array.newInstance(array.getClass().getComponentType(), length);
  }

  public static  T[] remove(final T[] array, final int pos) {
    final T[] newArray = newArray(array, array.length - 1);

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static boolean[] remove(final boolean[] array, final int pos) {
    final boolean[] newArray = new boolean[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static byte[] remove(final byte[] array, final int pos) {
    final byte[] newArray = new byte[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static char[] remove(final char[] array, final int pos) {
    final char[] newArray = new char[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static short[] remove(final short[] array, final int pos) {
    final short[] newArray = new short[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static int[] remove(final int[] array, final int pos) {
    final int[] newArray = new int[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static long[] remove(final long[] array, final int pos) {
    final long[] newArray = new long[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static float[] remove(final float[] array, final int pos) {
    final float[] newArray = new float[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static double[] remove(final double[] array, final int pos) {
    final double[] newArray = new double[array.length - 1];

    System.arraycopy(array, 0, newArray, 0, pos);
    System.arraycopy(array, pos + 1, newArray, pos, array.length - pos - 1);

    return newArray;
  }

  public static  T[] reverse(final T[] array) {
    final T[] newArray = newArray(array, array.length);

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static boolean[] reverse(final boolean[] array) {
    final boolean[] newArray = new boolean[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static byte[] reverse(final byte[] array) {
    final byte[] newArray = new byte[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static char[] reverse(final char[] array) {
    final char[] newArray = new char[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static short[] reverse(final short[] array) {
    final short[] newArray = new short[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static int[] reverse(final int[] array) {
    final int[] newArray = new int[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static long[] reverse(final long[] array) {
    final long[] newArray = new long[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static float[] reverse(final float[] array) {
    final float[] newArray = new float[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static double[] reverse(final double[] array) {
    final double[] newArray = new double[array.length];

    for (int i = 0; i < newArray.length; ++i) {
      newArray[i] = array[array.length - 1 - i];
    }

    return newArray;
  }

  public static  T[] truncate(final T[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final T[] newArray = newArray(array, pos);

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static boolean[] truncate(final boolean[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final boolean[] newArray = new boolean[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static byte[] truncate(final byte[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final byte[] newArray = new byte[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static char[] truncate(final char[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final char[] newArray = new char[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static short[] truncate(final short[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final short[] newArray = new short[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static int[] truncate(final int[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final int[] newArray = new int[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static long[] truncate(final long[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final long[] newArray = new long[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static float[] truncate(final float[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final float[] newArray = new float[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }

  public static double[] truncate(final double[] array, final int pos) {
    if (pos == array.length) {
      return array;
    }

    final double[] newArray = new double[pos];

    System.arraycopy(array, 0, newArray, 0, pos);

    return newArray;
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy