org.apache.commons.lang
Class ArrayUtils

java.lang.Object
  extended byorg.apache.commons.lang.ArrayUtils

public class ArrayUtils
extends Object

Operations on arrays, primitive arrays (like int[]) and primitive wrapper arrays (like Integer[]).

This class tries to handle null input gracefully. An exception will not be thrown for a null array input. However, an Object array that contains a null element may throw an exception. Each method documents its behaviour.

Since:
2.0
Version:
$Id: ArrayUtils.java 161243 2005-04-14 04:30:28Z ggregory $
Author:
Stephen Colebourne, Moritz Petersen, Fredrik Westermarck, Nikolay Metchev, Matthew Hawthorne, Tim O'Brien, Pete Gieser, Gary Gregory, Ashwin S, Maarten Coene

Field Summary
static boolean[] EMPTY_BOOLEAN_ARRAY
          An empty immutable boolean array.
static Boolean[] EMPTY_BOOLEAN_OBJECT_ARRAY
          An empty immutable Boolean array.
static byte[] EMPTY_BYTE_ARRAY
          An empty immutable byte array.
static Byte[] EMPTY_BYTE_OBJECT_ARRAY
          An empty immutable Byte array.
static char[] EMPTY_CHAR_ARRAY
          An empty immutable char array.
static Character[] EMPTY_CHARACTER_OBJECT_ARRAY
          An empty immutable Character array.
static Class[] EMPTY_CLASS_ARRAY
          An empty immutable Class array.
static double[] EMPTY_DOUBLE_ARRAY
          An empty immutable double array.
static Double[] EMPTY_DOUBLE_OBJECT_ARRAY
          An empty immutable Double array.
static float[] EMPTY_FLOAT_ARRAY
          An empty immutable float array.
static Float[] EMPTY_FLOAT_OBJECT_ARRAY
          An empty immutable Float array.
static int[] EMPTY_INT_ARRAY
          An empty immutable int array.
static Integer[] EMPTY_INTEGER_OBJECT_ARRAY
          An empty immutable Integer array.
static long[] EMPTY_LONG_ARRAY
          An empty immutable long array.
static Long[] EMPTY_LONG_OBJECT_ARRAY
          An empty immutable Long array.
static Object[] EMPTY_OBJECT_ARRAY
          An empty immutable Object array.
static short[] EMPTY_SHORT_ARRAY
          An empty immutable short array.
static Short[] EMPTY_SHORT_OBJECT_ARRAY
          An empty immutable Short array.
static String[] EMPTY_STRING_ARRAY
          An empty immutable String array.
 
Constructor Summary
ArrayUtils()
          ArrayUtils instances should NOT be constructed in standard programming.
 
Method Summary
static boolean[] add(boolean[] array, boolean element)
          Copies the given array and adds the given element at the end of the new array.
static boolean[] add(boolean[] array, int index, boolean element)
          Inserts the specified element at the specified position in the array.
static byte[] add(byte[] array, byte element)
          Copies the given array and adds the given element at the end of the new array.
static byte[] add(byte[] array, int index, byte element)
          Inserts the specified element at the specified position in the array.
static char[] add(char[] array, char element)
          Copies the given array and adds the given element at the end of the new array.
static char[] add(char[] array, int index, char element)
          Inserts the specified element at the specified position in the array.
static double[] add(double[] array, double element)
          Copies the given array and adds the given element at the end of the new array.
static double[] add(double[] array, int index, double element)
          Inserts the specified element at the specified position in the array.
static float[] add(float[] array, float element)
          Copies the given array and adds the given element at the end of the new array.
static float[] add(float[] array, int index, float element)
          Inserts the specified element at the specified position in the array.
static int[] add(int[] array, int element)
          Copies the given array and adds the given element at the end of the new array.
static int[] add(int[] array, int index, int element)
          Inserts the specified element at the specified position in the array.
static long[] add(long[] array, int index, long element)
          Inserts the specified element at the specified position in the array.
static long[] add(long[] array, long element)
          Copies the given array and adds the given element at the end of the new array.
static Object[] add(Object[] array, int index, Object element)
          Inserts the specified element at the specified position in the array.
static Object[] add(Object[] array, Object element)
          Copies the given array and adds the given element at the end of the new array.
static short[] add(short[] array, int index, short element)
          Inserts the specified element at the specified position in the array.
static short[] add(short[] array, short element)
          Copies the given array and adds the given element at the end of the new array.
static boolean[] addAll(boolean[] array1, boolean[] array2)
          Adds all the elements of the given arrays into a new array.
static byte[] addAll(byte[] array1, byte[] array2)
          Adds all the elements of the given arrays into a new array.
static char[] addAll(char[] array1, char[] array2)
          Adds all the elements of the given arrays into a new array.
static double[] addAll(double[] array1, double[] array2)
          Adds all the elements of the given arrays into a new array.
static float[] addAll(float[] array1, float[] array2)
          Adds all the elements of the given arrays into a new array.
static int[] addAll(int[] array1, int[] array2)
          Adds all the elements of the given arrays into a new array.
static long[] addAll(long[] array1, long[] array2)
          Adds all the elements of the given arrays into a new array.
static Object[] addAll(Object[] array1, Object[] array2)
          Adds all the elements of the given arrays into a new array.
static short[] addAll(short[] array1, short[] array2)
          Adds all the elements of the given arrays into a new array.
static boolean[] clone(boolean[] array)
          Clones an array returning a typecast result and handling null.
static byte[] clone(byte[] array)
          Clones an array returning a typecast result and handling null.
static char[] clone(char[] array)
          Clones an array returning a typecast result and handling null.
static double[] clone(double[] array)
          Clones an array returning a typecast result and handling null.
static float[] clone(float[] array)
          Clones an array returning a typecast result and handling null.
static int[] clone(int[] array)
          Clones an array returning a typecast result and handling null.
static long[] clone(long[] array)
          Clones an array returning a typecast result and handling null.
static Object[] clone(Object[] array)
          Shallow clones an array returning a typecast result and handling null.
static short[] clone(short[] array)
          Clones an array returning a typecast result and handling null.
static boolean contains(boolean[] array, boolean valueToFind)
          Checks if the value is in the given array.
static boolean contains(byte[] array, byte valueToFind)
          Checks if the value is in the given array.
static boolean contains(char[] array, char valueToFind)
          Checks if the value is in the given array.
static boolean contains(double[] array, double valueToFind)
          Checks if the value is in the given array.
static boolean contains(double[] array, double valueToFind, double tolerance)
          Checks if a value falling within the given tolerance is in the given array.
static boolean contains(float[] array, float valueToFind)
          Checks if the value is in the given array.
static boolean contains(int[] array, int valueToFind)
          Checks if the value is in the given array.
static boolean contains(long[] array, long valueToFind)
          Checks if the value is in the given array.
static boolean contains(Object[] array, Object objectToFind)
          Checks if the object is in the given array.
static boolean contains(short[] array, short valueToFind)
          Checks if the value is in the given array.
static int getLength(Object array)
          Returns the length of the specified array.
static int hashCode(Object array)
          Get a hashCode for an array handling multi-dimensional arrays correctly.
static int indexOf(boolean[] array, boolean valueToFind)
          Find the index of the given value in the array.
static int indexOf(boolean[] array, boolean valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(byte[] array, byte valueToFind)
          Find the index of the given value in the array.
static int indexOf(byte[] array, byte valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(char[] array, char valueToFind)
          Find the index of the given value in the array.
static int indexOf(char[] array, char valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(double[] array, double valueToFind)
          Find the index of the given value in the array.
static int indexOf(double[] array, double valueToFind, double tolerance)
          Find the index of the given value within a given tolerance in the array.
static int indexOf(double[] array, double valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(double[] array, double valueToFind, int startIndex, double tolerance)
          Find the index of the given value in the array starting at the given index.
static int indexOf(float[] array, float valueToFind)
          Find the index of the given value in the array.
static int indexOf(float[] array, float valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(int[] array, int valueToFind)
          Find the index of the given value in the array.
static int indexOf(int[] array, int valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(long[] array, long valueToFind)
          Find the index of the given value in the array.
static int indexOf(long[] array, long valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static int indexOf(Object[] array, Object objectToFind)
          Find the index of the given object in the array.
static int indexOf(Object[] array, Object objectToFind, int startIndex)
          Find the index of the given object in the array starting at the given index.
static int indexOf(short[] array, short valueToFind)
          Find the index of the given value in the array.
static int indexOf(short[] array, short valueToFind, int startIndex)
          Find the index of the given value in the array starting at the given index.
static boolean isEmpty(boolean[] array)
          Checks if an array of primitive booleans is empty or null.
static boolean isEmpty(byte[] array)
          Checks if an array of primitive bytes is empty or null.
static boolean isEmpty(char[] array)
          Checks if an array of primitive chars is empty or null.
static boolean isEmpty(double[] array)
          Checks if an array of primitive doubles is empty or null.
static boolean isEmpty(float[] array)
          Checks if an array of primitive floats is empty or null.
static boolean isEmpty(int[] array)
          Checks if an array of primitive ints is empty or null.
static boolean isEmpty(long[] array)
          Checks if an array of primitive longs is empty or null.
static boolean isEmpty(Object[] array)
          Checks if an array of Objects is empty or null.
static boolean isEmpty(short[] array)
          Checks if an array of primitive shorts is empty or null.
static boolean isEquals(Object array1, Object array2)
          Compares two arrays, using equals(), handling multi-dimensional arrays correctly.
static boolean isSameLength(boolean[] array1, boolean[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(byte[] array1, byte[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(char[] array1, char[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(double[] array1, double[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(float[] array1, float[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(int[] array1, int[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(long[] array1, long[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(Object[] array1, Object[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameLength(short[] array1, short[] array2)
          Checks whether two arrays are the same length, treating null arrays as length 0.
static boolean isSameType(Object array1, Object array2)
          Checks whether two arrays are the same type taking into account multi-dimensional arrays.
static int lastIndexOf(boolean[] array, boolean valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(boolean[] array, boolean valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(byte[] array, byte valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(byte[] array, byte valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(char[] array, char valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(char[] array, char valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(double[] array, double valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(double[] array, double valueToFind, double tolerance)
          Find the last index of the given value within a given tolerance in the array.
static int lastIndexOf(double[] array, double valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(double[] array, double valueToFind, int startIndex, double tolerance)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(float[] array, float valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(float[] array, float valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(int[] array, int valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(int[] array, int valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(long[] array, long valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(long[] array, long valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static int lastIndexOf(Object[] array, Object objectToFind)
          Find the last index of the given object within the array.
static int lastIndexOf(Object[] array, Object objectToFind, int startIndex)
          Find the last index of the given object in the array starting at the given index.
static int lastIndexOf(short[] array, short valueToFind)
          Find the last index of the given value within the array.
static int lastIndexOf(short[] array, short valueToFind, int startIndex)
          Find the last index of the given value in the array starting at the given index.
static boolean[] remove(boolean[] array, int index)
          Removes the element at the specified position from the specified array.
static byte[] remove(byte[] array, int index)
          Removes the element at the specified position from the specified array.
static char[] remove(char[] array, int index)
          Removes the element at the specified position from the specified array.
static double[] remove(double[] array, int index)
          Removes the element at the specified position from the specified array.
static float[] remove(float[] array, int index)
          Removes the element at the specified position from the specified array.
static int[] remove(int[] array, int index)
          Removes the element at the specified position from the specified array.
static long[] remove(long[] array, int index)
          Removes the element at the specified position from the specified array.
static Object[] remove(Object[] array, int index)
          Removes the element at the specified position from the specified array.
static short[] remove(short[] array, int index)
          Removes the element at the specified position from the specified array.
static boolean[] removeElement(boolean[] array, boolean element)
          Removes the first occurrence of the specified element from the specified array.
static byte[] removeElement(byte[] array, byte element)
          Removes the first occurrence of the specified element from the specified array.
static char[] removeElement(char[] array, char element)
          Removes the first occurrence of the specified element from the specified array.
static double[] removeElement(double[] array, double element)
          Removes the first occurrence of the specified element from the specified array.
static float[] removeElement(float[] array, float element)
          Removes the first occurrence of the specified element from the specified array.
static int[] removeElement(int[] array, int element)
          Removes the first occurrence of the specified element from the specified array.
static long[] removeElement(long[] array, long element)
          Removes the first occurrence of the specified element from the specified array.
static Object[] removeElement(Object[] array, Object element)
          Removes the first occurrence of the specified element from the specified array.
static short[] removeElement(short[] array, short element)
          Removes the first occurrence of the specified element from the specified array.
static void reverse(boolean[] array)
          Reverses the order of the given array.
static void reverse(byte[] array)
          Reverses the order of the given array.
static void reverse(char[] array)
          Reverses the order of the given array.
static void reverse(double[] array)
          Reverses the order of the given array.
static void reverse(float[] array)
          Reverses the order of the given array.
static void reverse(int[] array)
          Reverses the order of the given array.
static void reverse(long[] array)
          Reverses the order of the given array.
static void reverse(Object[] array)
          Reverses the order of the given array.
static void reverse(short[] array)
          Reverses the order of the given array.
static boolean[] subarray(boolean[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new boolean array containing the elements between the start and end indices.
static byte[] subarray(byte[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new byte array containing the elements between the start and end indices.
static char[] subarray(char[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new char array containing the elements between the start and end indices.
static double[] subarray(double[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new double array containing the elements between the start and end indices.
static float[] subarray(float[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new float array containing the elements between the start and end indices.
static int[] subarray(int[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new int array containing the elements between the start and end indices.
static long[] subarray(long[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new long array containing the elements between the start and end indices.
static Object[] subarray(Object[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new array containing the elements between the start and end indices.
static short[] subarray(short[] array, int startIndexInclusive, int endIndexExclusive)
          Produces a new short array containing the elements between the start and end indices.
static Map toMap(Object[] array)
          Converts the given array into a Map.
static Boolean[] toObject(boolean[] array)
          Converts an array of primitive booleans to objects.
static Byte[] toObject(byte[] array)
          Converts an array of primitive bytes to objects.
static Double[] toObject(double[] array)
          Converts an array of primitive doubles to objects.
static Float[] toObject(float[] array)
          Converts an array of primitive floats to objects.
static Integer[] toObject(int[] array)
          Converts an array of primitive ints to objects.
static Long[] toObject(long[] array)
          Converts an array of primitive longs to objects.
static Short[] toObject(short[] array)
          Converts an array of primitive shorts to objects.
static boolean[] toPrimitive(Boolean[] array)
          Converts an array of object Booleans to primitives.
static boolean[] toPrimitive(Boolean[] array, boolean valueForNull)
          Converts an array of object Booleans to primitives handling null.
static byte[] toPrimitive(Byte[] array)
          Converts an array of object Bytes to primitives.
static byte[] toPrimitive(Byte[] array, byte valueForNull)
          Converts an array of object Bytes to primitives handling null.
static double[] toPrimitive(Double[] array)
          Converts an array of object Doubles to primitives.
static double[] toPrimitive(Double[] array, double valueForNull)
          Converts an array of object Doubles to primitives handling null.
static float[] toPrimitive(Float[] array)
          Converts an array of object Floats to primitives.
static float[] toPrimitive(Float[] array, float valueForNull)
          Converts an array of object Floats to primitives handling null.
static int[] toPrimitive(Integer[] array)
          Converts an array of object Integers to primitives.
static int[] toPrimitive(Integer[] array, int valueForNull)
          Converts an array of object Integer to primitives handling null.
static long[] toPrimitive(Long[] array)
          Converts an array of object Longs to primitives.
static long[] toPrimitive(Long[] array, long valueForNull)
          Converts an array of object Long to primitives handling null.
static short[] toPrimitive(Short[] array)
          Converts an array of object Shorts to primitives.
static short[] toPrimitive(Short[] array, short valueForNull)
          Converts an array of object Short to primitives handling null.
static String toString(Object array)
          Outputs an array as a String, treating null as an empty array.
static String toString(Object array, String stringIfNull)
          Outputs an array as a String handling nulls.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_OBJECT_ARRAY

public static final Object[] EMPTY_OBJECT_ARRAY
An empty immutable Object array.


EMPTY_CLASS_ARRAY

public static final Class[] EMPTY_CLASS_ARRAY
An empty immutable Class array.


EMPTY_STRING_ARRAY

public static final String[] EMPTY_STRING_ARRAY
An empty immutable String array.


EMPTY_LONG_ARRAY

public static final long[] EMPTY_LONG_ARRAY
An empty immutable long array.


EMPTY_LONG_OBJECT_ARRAY

public static final Long[] EMPTY_LONG_OBJECT_ARRAY
An empty immutable Long array.


EMPTY_INT_ARRAY

public static final int[] EMPTY_INT_ARRAY
An empty immutable int array.


EMPTY_INTEGER_OBJECT_ARRAY

public static final Integer[] EMPTY_INTEGER_OBJECT_ARRAY
An empty immutable Integer array.


EMPTY_SHORT_ARRAY

public static final short[] EMPTY_SHORT_ARRAY
An empty immutable short array.


EMPTY_SHORT_OBJECT_ARRAY

public static final Short[] EMPTY_SHORT_OBJECT_ARRAY
An empty immutable Short array.


EMPTY_BYTE_ARRAY

public static final byte[] EMPTY_BYTE_ARRAY
An empty immutable byte array.


EMPTY_BYTE_OBJECT_ARRAY

public static final Byte[] EMPTY_BYTE_OBJECT_ARRAY
An empty immutable Byte array.


EMPTY_DOUBLE_ARRAY

public static final double[] EMPTY_DOUBLE_ARRAY
An empty immutable double array.


EMPTY_DOUBLE_OBJECT_ARRAY

public static final Double[] EMPTY_DOUBLE_OBJECT_ARRAY
An empty immutable Double array.


EMPTY_FLOAT_ARRAY

public static final float[] EMPTY_FLOAT_ARRAY
An empty immutable float array.


EMPTY_FLOAT_OBJECT_ARRAY

public static final Float[] EMPTY_FLOAT_OBJECT_ARRAY
An empty immutable Float array.


EMPTY_BOOLEAN_ARRAY

public static final boolean[] EMPTY_BOOLEAN_ARRAY
An empty immutable boolean array.


EMPTY_BOOLEAN_OBJECT_ARRAY

public static final Boolean[] EMPTY_BOOLEAN_OBJECT_ARRAY
An empty immutable Boolean array.


EMPTY_CHAR_ARRAY

public static final char[] EMPTY_CHAR_ARRAY
An empty immutable char array.


EMPTY_CHARACTER_OBJECT_ARRAY

public static final Character[] EMPTY_CHARACTER_OBJECT_ARRAY
An empty immutable Character array.

Constructor Detail

ArrayUtils

public ArrayUtils()

ArrayUtils instances should NOT be constructed in standard programming. Instead, the class should be used as ArrayUtils.clone(new int[] {2}).

This constructor is public to permit tools that require a JavaBean instance to operate.

Method Detail

toString

public static String toString(Object array)

Outputs an array as a String, treating null as an empty array.

Multi-dimensional arrays are handled correctly, including multi-dimensional primitive arrays.

The format is that of Java source code, for example {a,b}.

Parameters:
array - the array to get a toString for, may be null
Returns:
a String representation of the array, '{}' if null array input

toString

public static String toString(Object array,
                              String stringIfNull)

Outputs an array as a String handling nulls.

Multi-dimensional arrays are handled correctly, including multi-dimensional primitive arrays.

The format is that of Java source code, for example {a,b}.

Parameters:
array - the array to get a toString for, may be null
stringIfNull - the String to return if the array is null
Returns:
a String representation of the array

hashCode

public static int hashCode(Object array)

Get a hashCode for an array handling multi-dimensional arrays correctly.

Multi-dimensional primitive arrays are also handled correctly by this method.

Parameters:
array - the array to get a hashCode for, may be null
Returns:
a hashCode for the array, zero if null array input

isEquals

public static boolean isEquals(Object array1,
                               Object array2)

Compares two arrays, using equals(), handling multi-dimensional arrays correctly.

Multi-dimensional primitive arrays are also handled correctly by this method.

Parameters:
array1 - the left hand array to compare, may be null
array2 - the right hand array to compare, may be null
Returns:
true if the arrays are equal

toMap

public static Map toMap(Object[] array)

Converts the given array into a Map. Each element of the array must be either a Map.Entry or an Array, containing at least two elements, where the first element is used as key and the second as value.

This method can be used to initialize:

 // Create a Map mapping colors.
 Map colorMap = MapUtils.toMap(new String[][] {{
     {"RED", "#FF0000"},
     {"GREEN", "#00FF00"},
     {"BLUE", "#0000FF"}});
 

This method returns null if null array input.

Parameters:
array - an array whose elements are either a Map.Entry or an Array containing at least two elements, may be null
Returns:
a Map that was created from the array
Throws:
IllegalArgumentException - if one element of this Array is itself an Array containing less then two elements
IllegalArgumentException - if the array contains elements other than Map.Entry and an Array

clone

public static Object[] clone(Object[] array)

Shallow clones an array returning a typecast result and handling null.

The objects in the array are not cloned, thus there is no special handling for multi-dimensional arrays.

This method returns null if null array input.

Parameters:
array - the array to shallow clone, may be null
Returns:
the cloned array, null if null input

clone

public static long[] clone(long[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static int[] clone(int[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static short[] clone(short[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static char[] clone(char[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static byte[] clone(byte[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static double[] clone(double[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static float[] clone(float[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

clone

public static boolean[] clone(boolean[] array)

Clones an array returning a typecast result and handling null.

This method returns null if null array input.

Parameters:
array - the array to clone, may be null
Returns:
the cloned array, null if null input

subarray

public static Object[] subarray(Object[] array,
                                int startIndexInclusive,
                                int endIndexExclusive)

Produces a new array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

The component type of the subarray is always the same as that of the input array. Thus, if the input is an array of type Date, the following usage is envisaged:

 Date[] someDates = (Date[])ArrayUtils.subarray(allDates, 2, 5);
 

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static long[] subarray(long[] array,
                              int startIndexInclusive,
                              int endIndexExclusive)

Produces a new long array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static int[] subarray(int[] array,
                             int startIndexInclusive,
                             int endIndexExclusive)

Produces a new int array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static short[] subarray(short[] array,
                               int startIndexInclusive,
                               int endIndexExclusive)

Produces a new short array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static char[] subarray(char[] array,
                              int startIndexInclusive,
                              int endIndexExclusive)

Produces a new char array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static byte[] subarray(byte[] array,
                              int startIndexInclusive,
                              int endIndexExclusive)

Produces a new byte array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static double[] subarray(double[] array,
                                int startIndexInclusive,
                                int endIndexExclusive)

Produces a new double array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static float[] subarray(float[] array,
                               int startIndexInclusive,
                               int endIndexExclusive)

Produces a new float array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

subarray

public static boolean[] subarray(boolean[] array,
                                 int startIndexInclusive,
                                 int endIndexExclusive)

Produces a new boolean array containing the elements between the start and end indices.

The start index is inclusive, the end index exclusive. Null array input produces null output.

Parameters:
array - the array
startIndexInclusive - the starting index. Undervalue (<0) is promoted to 0, overvalue (>array.length) results in an empty array.
endIndexExclusive - elements up to endIndex-1 are present in the returned subarray. Undervalue (< startIndex) produces empty array, overvalue (>array.length) is demoted to array length.
Returns:
a new array containing the elements between the start and end indices.
Since:
2.1

isSameLength

public static boolean isSameLength(Object[] array1,
                                   Object[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Any multi-dimensional aspects of the arrays are ignored.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(long[] array1,
                                   long[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(int[] array1,
                                   int[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(short[] array1,
                                   short[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(char[] array1,
                                   char[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(byte[] array1,
                                   byte[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(double[] array1,
                                   double[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(float[] array1,
                                   float[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

isSameLength

public static boolean isSameLength(boolean[] array1,
                                   boolean[] array2)

Checks whether two arrays are the same length, treating null arrays as length 0.

Parameters:
array1 - the first array, may be null
array2 - the second array, may be null
Returns:
true if length of arrays matches, treating null as an empty array

getLength

public static int getLength(Object array)

Returns the length of the specified array. This method can deal with Object arrays and with primitive arrays.

If the input array is null, 0 is returned.

 ArrayUtils.getLength(null)            = 0
 ArrayUtils.getLength([])              = 0
 ArrayUtils.getLength([null])          = 1
 ArrayUtils.getLength([true, false])   = 2
 ArrayUtils.getLength([1, 2, 3])       = 3
 ArrayUtils.getLength(["a", "b", "c"]) = 3
 

Parameters:
array - the array to retrieve the length from, may be null
Returns:
The length of the array, or 0 if the array is null
Throws:
IllegalArgumentException - if the object arguement is not an array.
Since:
2.1

isSameType

public static boolean isSameType(Object array1,
                                 Object array2)

Checks whether two arrays are the same type taking into account multi-dimensional arrays.

Parameters:
array1 - the first array, must not be null
array2 - the second array, must not be null
Returns:
true if type of arrays matches
Throws:
IllegalArgumentException - if either array is null

reverse

public static void reverse(Object[] array)

Reverses the order of the given array.

There is no special handling for multi-dimensional arrays.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(long[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(int[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(short[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(char[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(byte[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(double[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(float[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

reverse

public static void reverse(boolean[] array)

Reverses the order of the given array.

This method does nothing if null array input.

Parameters:
array - the array to reverse, may be null

indexOf

public static int indexOf(Object[] array,
                          Object objectToFind)

Find the index of the given object in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
objectToFind - the object to find, may be null
Returns:
the index of the object within the array, -1 if not found or null array input

indexOf

public static int indexOf(Object[] array,
                          Object objectToFind,
                          int startIndex)

Find the index of the given object in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
objectToFind - the object to find, may be null
startIndex - the index to start searching at
Returns:
the index of the object within the array starting at the index, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(Object[] array,
                              Object objectToFind)

Find the last index of the given object within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
objectToFind - the object to find, may be null
Returns:
the last index of the object within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(Object[] array,
                              Object objectToFind,
                              int startIndex)

Find the last index of the given object in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
objectToFind - the object to find, may be null
startIndex - the start index to travers backwards from
Returns:
the last index of the object within the array, -1 if not found or null array input

contains

public static boolean contains(Object[] array,
                               Object objectToFind)

Checks if the object is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
objectToFind - the object to find
Returns:
true if the array contains the object

indexOf

public static int indexOf(long[] array,
                          long valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(long[] array,
                          long valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(long[] array,
                              long valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(long[] array,
                              long valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(long[] array,
                               long valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

indexOf

public static int indexOf(int[] array,
                          int valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(int[] array,
                          int valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(int[] array,
                              int valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(int[] array,
                              int valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(int[] array,
                               int valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

indexOf

public static int indexOf(short[] array,
                          short valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(short[] array,
                          short valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(short[] array,
                              short valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(short[] array,
                              short valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(short[] array,
                               short valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

indexOf

public static int indexOf(char[] array,
                          char valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input
Since:
2.1

indexOf

public static int indexOf(char[] array,
                          char valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input
Since:
2.1

lastIndexOf

public static int lastIndexOf(char[] array,
                              char valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input
Since:
2.1

lastIndexOf

public static int lastIndexOf(char[] array,
                              char valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input
Since:
2.1

contains

public static boolean contains(char[] array,
                               char valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object
Since:
2.1

indexOf

public static int indexOf(byte[] array,
                          byte valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(byte[] array,
                          byte valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(byte[] array,
                              byte valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(byte[] array,
                              byte valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(byte[] array,
                               byte valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

indexOf

public static int indexOf(double[] array,
                          double valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(double[] array,
                          double valueToFind,
                          double tolerance)

Find the index of the given value within a given tolerance in the array. This method will return the index of the first value which falls between the region defined by valueToFind - tolerance and valueToFind + tolerance.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
tolerance - tolerance of the search
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(double[] array,
                          double valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(double[] array,
                          double valueToFind,
                          int startIndex,
                          double tolerance)

Find the index of the given value in the array starting at the given index. This method will return the index of the first value which falls between the region defined by valueToFind - tolerance and valueToFind + tolerance.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
tolerance - tolerance of the search
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(double[] array,
                              double valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(double[] array,
                              double valueToFind,
                              double tolerance)

Find the last index of the given value within a given tolerance in the array. This method will return the index of the last value which falls between the region defined by valueToFind - tolerance and valueToFind + tolerance.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
tolerance - tolerance of the search
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(double[] array,
                              double valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(double[] array,
                              double valueToFind,
                              int startIndex,
                              double tolerance)

Find the last index of the given value in the array starting at the given index. This method will return the index of the last value which falls between the region defined by valueToFind - tolerance and valueToFind + tolerance.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
tolerance - search for value within plus/minus this amount
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(double[] array,
                               double valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

contains

public static boolean contains(double[] array,
                               double valueToFind,
                               double tolerance)

Checks if a value falling within the given tolerance is in the given array. If the array contains a value within the inclusive range defined by (value - tolerance) to (value + tolerance).

The method returns false if a null array is passed in.

Parameters:
array - the array to search
valueToFind - the value to find
tolerance - the array contains the tolerance of the search
Returns:
true if value falling within tolerance is in array

indexOf

public static int indexOf(float[] array,
                          float valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(float[] array,
                          float valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(float[] array,
                              float valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(float[] array,
                              float valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(float[] array,
                               float valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

indexOf

public static int indexOf(boolean[] array,
                          boolean valueToFind)

Find the index of the given value in the array.

This method returns -1 if null array input.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
Returns:
the index of the value within the array, -1 if not found or null array input

indexOf

public static int indexOf(boolean[] array,
                          boolean valueToFind,
                          int startIndex)

Find the index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex is treated as zero. A startIndex larger than the array length will return -1.

Parameters:
array - the array to search through for the object, may be null
valueToFind - the value to find
startIndex - the index to start searching at
Returns:
the index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(boolean[] array,
                              boolean valueToFind)

Find the last index of the given value within the array.

This method returns -1 if null array input.

Parameters:
array - the array to travers backwords looking for the object, may be null
valueToFind - the object to find
Returns:
the last index of the value within the array, -1 if not found or null array input

lastIndexOf

public static int lastIndexOf(boolean[] array,
                              boolean valueToFind,
                              int startIndex)

Find the last index of the given value in the array starting at the given index.

This method returns -1 if null array input.

A negative startIndex will return -1. A startIndex larger than the array length will search from the end of the array.

Parameters:
array - the array to traverse for looking for the object, may be null
valueToFind - the value to find
startIndex - the start index to travers backwards from
Returns:
the last index of the value within the array, -1 if not found or null array input

contains

public static boolean contains(boolean[] array,
                               boolean valueToFind)

Checks if the value is in the given array.

The method returns false if a null array is passed in.

Parameters:
array - the array to search through
valueToFind - the value to find
Returns:
true if the array contains the object

toPrimitive

public static long[] toPrimitive(Long[] array)

Converts an array of object Longs to primitives.

This method returns null if null array input.

Parameters:
array - a Long array, may be null
Returns:
a long array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static long[] toPrimitive(Long[] array,
                                 long valueForNull)

Converts an array of object Long to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Long array, may be null
valueForNull - the value to insert if null found
Returns:
a long array, null if null array input

toObject

public static Long[] toObject(long[] array)

Converts an array of primitive longs to objects.

This method returns null if null array input.

Parameters:
array - a long array
Returns:
a Long array, null if null array input

toPrimitive

public static int[] toPrimitive(Integer[] array)

Converts an array of object Integers to primitives.

This method returns null if null array input.

Parameters:
array - a Integer array, may be null
Returns:
an int array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static int[] toPrimitive(Integer[] array,
                                int valueForNull)

Converts an array of object Integer to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Integer array, may be null
valueForNull - the value to insert if null found
Returns:
an int array, null if null array input

toObject

public static Integer[] toObject(int[] array)

Converts an array of primitive ints to objects.

This method returns null if null array input.

Parameters:
array - an int array
Returns:
an Integer array, null if null array input

toPrimitive

public static short[] toPrimitive(Short[] array)

Converts an array of object Shorts to primitives.

This method returns null if null array input.

Parameters:
array - a Short array, may be null
Returns:
a byte array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static short[] toPrimitive(Short[] array,
                                  short valueForNull)

Converts an array of object Short to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Short array, may be null
valueForNull - the value to insert if null found
Returns:
a byte array, null if null array input

toObject

public static Short[] toObject(short[] array)

Converts an array of primitive shorts to objects.

This method returns null if null array input.

Parameters:
array - a short array
Returns:
a Short array, null if null array input

toPrimitive

public static byte[] toPrimitive(Byte[] array)

Converts an array of object Bytes to primitives.

This method returns null if null array input.

Parameters:
array - a Byte array, may be null
Returns:
a byte array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static byte[] toPrimitive(Byte[] array,
                                 byte valueForNull)

Converts an array of object Bytes to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Byte array, may be null
valueForNull - the value to insert if null found
Returns:
a byte array, null if null array input

toObject

public static Byte[] toObject(byte[] array)

Converts an array of primitive bytes to objects.

This method returns null if null array input.

Parameters:
array - a byte array
Returns:
a Byte array, null if null array input

toPrimitive

public static double[] toPrimitive(Double[] array)

Converts an array of object Doubles to primitives.

This method returns null if null array input.

Parameters:
array - a Double array, may be null
Returns:
a double array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static double[] toPrimitive(Double[] array,
                                   double valueForNull)

Converts an array of object Doubles to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Double array, may be null
valueForNull - the value to insert if null found
Returns:
a double array, null if null array input

toObject

public static Double[] toObject(double[] array)

Converts an array of primitive doubles to objects.

This method returns null if null array input.

Parameters:
array - a double array
Returns:
a Double array, null if null array input

toPrimitive

public static float[] toPrimitive(Float[] array)

Converts an array of object Floats to primitives.

This method returns null if null array input.

Parameters:
array - a Float array, may be null
Returns:
a float array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static float[] toPrimitive(Float[] array,
                                  float valueForNull)

Converts an array of object Floats to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Float array, may be null
valueForNull - the value to insert if null found
Returns:
a float array, null if null array input

toObject

public static Float[] toObject(float[] array)

Converts an array of primitive floats to objects.

This method returns null if null array input.

Parameters:
array - a float array
Returns:
a Float array, null if null array input

toPrimitive

public static boolean[] toPrimitive(Boolean[] array)

Converts an array of object Booleans to primitives.

This method returns null if null array input.

Parameters:
array - a Boolean array, may be null
Returns:
a boolean array, null if null array input
Throws:
NullPointerException - if array content is null

toPrimitive

public static boolean[] toPrimitive(Boolean[] array,
                                    boolean valueForNull)

Converts an array of object Booleans to primitives handling null.

This method returns null if null array input.

Parameters:
array - a Boolean array, may be null
valueForNull - the value to insert if null found
Returns:
a boolean array, null if null array input

toObject

public static Boolean[] toObject(boolean[] array)

Converts an array of primitive booleans to objects.

This method returns null if null array input.

Parameters:
array - a boolean array
Returns:
a Boolean array, null if null array input

isEmpty

public static boolean isEmpty(Object[] array)

Checks if an array of Objects is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(long[] array)

Checks if an array of primitive longs is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(int[] array)

Checks if an array of primitive ints is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(short[] array)

Checks if an array of primitive shorts is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(char[] array)

Checks if an array of primitive chars is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(byte[] array)

Checks if an array of primitive bytes is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(double[] array)

Checks if an array of primitive doubles is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(float[] array)

Checks if an array of primitive floats is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

isEmpty

public static boolean isEmpty(boolean[] array)

Checks if an array of primitive booleans is empty or null.

Parameters:
array - the array to test
Returns:
true if the array is empty or null
Since:
2.1

addAll

public static Object[] addAll(Object[] array1,
                              Object[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(null, null)     = null
 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 ArrayUtils.addAll([null], [null]) = [null, null]
 ArrayUtils.addAll(["a", "b", "c"], ["1", "2", "3"]) = ["a", "b", "c", "1", "2", "3"]
 

Parameters:
array1 - the first array whose elements are added to the new array, may be null
array2 - the second array whose elements are added to the new array, may be null
Returns:
The new array, null if null array inputs. The type of the new array is the type of the first array.
Since:
2.1

addAll

public static boolean[] addAll(boolean[] array1,
                               boolean[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new boolean[] array.
Since:
2.1

addAll

public static char[] addAll(char[] array1,
                            char[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new char[] array.
Since:
2.1

addAll

public static byte[] addAll(byte[] array1,
                            byte[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new byte[] array.
Since:
2.1

addAll

public static short[] addAll(short[] array1,
                             short[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new short[] array.
Since:
2.1

addAll

public static int[] addAll(int[] array1,
                           int[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new int[] array.
Since:
2.1

addAll

public static long[] addAll(long[] array1,
                            long[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new long[] array.
Since:
2.1

addAll

public static float[] addAll(float[] array1,
                             float[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new float[] array.
Since:
2.1

addAll

public static double[] addAll(double[] array1,
                              double[] array2)

Adds all the elements of the given arrays into a new array.

The new array contains all of the element of array1 followed by all of the elements array2. When an array is returned, it is always a new array.

 ArrayUtils.addAll(array1, null)   = cloned copy of array1
 ArrayUtils.addAll(null, array2)   = cloned copy of array2
 ArrayUtils.addAll([], [])         = []
 

Parameters:
array1 - the first array whose elements are added to the new array.
array2 - the second array whose elements are added to the new array.
Returns:
The new double[] array.
Since:
2.1

add

public static Object[] add(Object[] array,
                           Object element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, null)      = [null]
 ArrayUtils.add(null, "a")       = ["a"]
 ArrayUtils.add(["a"], null)     = ["a", null]
 ArrayUtils.add(["a"], "b")      = ["a", "b"]
 ArrayUtils.add(["a", "b"], "c") = ["a", "b", "c"]
 

Parameters:
array - the array to "add" the element to, may be null
element - the object to add
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static boolean[] add(boolean[] array,
                            boolean element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, true)          = [true]
 ArrayUtils.add([true], false)       = [true, false]
 ArrayUtils.add([true, false], true) = [true, false, true]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static byte[] add(byte[] array,
                         byte element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0)   = [0]
 ArrayUtils.add([1], 0)    = [1, 0]
 ArrayUtils.add([1, 0], 1) = [1, 0, 1]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static char[] add(char[] array,
                         char element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, '0')       = ['0']
 ArrayUtils.add(['1'], '0')      = ['1', '0']
 ArrayUtils.add(['1', '0'], '1') = ['1', '0', '1']
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static double[] add(double[] array,
                           double element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0)   = [0]
 ArrayUtils.add([1], 0)    = [1, 0]
 ArrayUtils.add([1, 0], 1) = [1, 0, 1]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static float[] add(float[] array,
                          float element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0)   = [0]
 ArrayUtils.add([1], 0)    = [1, 0]
 ArrayUtils.add([1, 0], 1) = [1, 0, 1]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static int[] add(int[] array,
                        int element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0)   = [0]
 ArrayUtils.add([1], 0)    = [1, 0]
 ArrayUtils.add([1, 0], 1) = [1, 0, 1]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static long[] add(long[] array,
                         long element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0)   = [0]
 ArrayUtils.add([1], 0)    = [1, 0]
 ArrayUtils.add([1, 0], 1) = [1, 0, 1]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static short[] add(short[] array,
                          short element)

Copies the given array and adds the given element at the end of the new array.

The new array contains the same elements of the input array plus the given element in the last position. The component type of the new array is the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0)   = [0]
 ArrayUtils.add([1], 0)    = [1, 0]
 ArrayUtils.add([1, 0], 1) = [1, 0, 1]
 

Parameters:
array - the array to copy and add the element to, may be null
element - the object to add at the last index of the new array
Returns:
A new array containing the existing elements plus the new element
Since:
2.1

add

public static Object[] add(Object[] array,
                           int index,
                           Object element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0, null)      = [null]
 ArrayUtils.add(null, 0, "a")       = ["a"]
 ArrayUtils.add(["a"], 1, null)     = ["a", null]
 ArrayUtils.add(["a"], 1, "b")      = ["a", "b"]
 ArrayUtils.add(["a", "b"], 3, "c") = ["a", "b", "c"]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static boolean[] add(boolean[] array,
                            int index,
                            boolean element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0, true)          = [true]
 ArrayUtils.add([true], 0, false)       = [false, true]
 ArrayUtils.add([false], 1, true)       = [false, true]
 ArrayUtils.add([true, false], 1, true) = [true, true, false]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static char[] add(char[] array,
                         int index,
                         char element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add(null, 0, 'a')            = ['a']
 ArrayUtils.add(['a'], 0, 'b')           = ['b', 'a']
 ArrayUtils.add(['a', 'b'], 0, 'c')      = ['c', 'a', 'b']
 ArrayUtils.add(['a', 'b'], 1, 'k')      = ['a', 'k', 'b']
 ArrayUtils.add(['a', 'b', 'c'], 1, 't') = ['a', 't', 'b', 'c']
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static byte[] add(byte[] array,
                         int index,
                         byte element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add([1], 0, 2)         = [2, 1]
 ArrayUtils.add([2, 6], 2, 3)      = [2, 6, 3]
 ArrayUtils.add([2, 6], 0, 1)      = [1, 2, 6]
 ArrayUtils.add([2, 6, 3], 2, 1)   = [2, 6, 1, 3]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static short[] add(short[] array,
                          int index,
                          short element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add([1], 0, 2)         = [2, 1]
 ArrayUtils.add([2, 6], 2, 10)     = [2, 6, 10]
 ArrayUtils.add([2, 6], 0, -4)     = [-4, 2, 6]
 ArrayUtils.add([2, 6, 3], 2, 1)   = [2, 6, 1, 3]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static int[] add(int[] array,
                        int index,
                        int element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add([1], 0, 2)         = [2, 1]
 ArrayUtils.add([2, 6], 2, 10)     = [2, 6, 10]
 ArrayUtils.add([2, 6], 0, -4)     = [-4, 2, 6]
 ArrayUtils.add([2, 6, 3], 2, 1)   = [2, 6, 1, 3]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static long[] add(long[] array,
                         int index,
                         long element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add([1L], 0, 2L)           = [2L, 1L]
 ArrayUtils.add([2L, 6L], 2, 10L)      = [2L, 6L, 10L]
 ArrayUtils.add([2L, 6L], 0, -4L)      = [-4L, 2L, 6L]
 ArrayUtils.add([2L, 6L, 3L], 2, 1L)   = [2L, 6L, 1L, 3L]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static float[] add(float[] array,
                          int index,
                          float element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add([1.1f], 0, 2.2f)               = [2.2f, 1.1f]
 ArrayUtils.add([2.3f, 6.4f], 2, 10.5f)        = [2.3f, 6.4f, 10.5f]
 ArrayUtils.add([2.6f, 6.7f], 0, -4.8f)        = [-4.8f, 2.6f, 6.7f]
 ArrayUtils.add([2.9f, 6.0f, 0.3f], 2, 1.0f)   = [2.9f, 6.0f, 1.0f, 0.3f]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

add

public static double[] add(double[] array,
                           int index,
                           double element)

Inserts the specified element at the specified position in the array. Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).

This method returns a new array with the same elements of the input array plus the given element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, a new one element array is returned whose component type is the same as the element.

 ArrayUtils.add([1.1], 0, 2.2)              = [2.2, 1.1]
 ArrayUtils.add([2.3, 6.4], 2, 10.5)        = [2.3, 6.4, 10.5]
 ArrayUtils.add([2.6, 6.7], 0, -4.8)        = [-4.8, 2.6, 6.7]
 ArrayUtils.add([2.9, 6.0, 0.3], 2, 1.0)    = [2.9, 6.0, 1.0, 0.3]
 

Parameters:
array - the array to add the element to, may be null
index - the position of the new object
element - the object to add
Returns:
A new array containing the existing elements and the new element
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index > array.length).

remove

public static Object[] remove(Object[] array,
                              int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove(["a"], 0)           = []
 ArrayUtils.remove(["a", "b"], 0)      = ["b"]
 ArrayUtils.remove(["a", "b"], 1)      = ["a"]
 ArrayUtils.remove(["a", "b", "c"], 1) = ["a", "c"]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static Object[] removeElement(Object[] array,
                                     Object element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, "a")            = null
 ArrayUtils.removeElement([], "a")              = []
 ArrayUtils.removeElement(["a"], "b")           = ["a"]
 ArrayUtils.removeElement(["a", "b"], "a")      = ["b"]
 ArrayUtils.removeElement(["a", "b", "a"], "a") = ["b", "a"]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static boolean[] remove(boolean[] array,
                               int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([true], 0)              = []
 ArrayUtils.remove([true, false], 0)       = [false]
 ArrayUtils.remove([true, false], 1)       = [true]
 ArrayUtils.remove([true, true, false], 1) = [true, false]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static boolean[] removeElement(boolean[] array,
                                      boolean element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, true)                = null
 ArrayUtils.removeElement([], true)                  = []
 ArrayUtils.removeElement([true], false)             = [true]
 ArrayUtils.removeElement([true, false], false)      = [true]
 ArrayUtils.removeElement([true, false, true], true) = [false, true]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static byte[] remove(byte[] array,
                            int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([1], 0)          = []
 ArrayUtils.remove([1, 0], 0)       = [0]
 ArrayUtils.remove([1, 0], 1)       = [1]
 ArrayUtils.remove([1, 0, 1], 1)    = [1, 1]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static byte[] removeElement(byte[] array,
                                   byte element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 1)        = null
 ArrayUtils.removeElement([], 1)          = []
 ArrayUtils.removeElement([1], 0)         = [1]
 ArrayUtils.removeElement([1, 0], 0)      = [1]
 ArrayUtils.removeElement([1, 0, 1], 1)   = [0, 1]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static char[] remove(char[] array,
                            int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove(['a'], 0)           = []
 ArrayUtils.remove(['a', 'b'], 0)      = ['b']
 ArrayUtils.remove(['a', 'b'], 1)      = ['a']
 ArrayUtils.remove(['a', 'b', 'c'], 1) = ['a', 'c']
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static char[] removeElement(char[] array,
                                   char element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 'a')            = null
 ArrayUtils.removeElement([], 'a')              = []
 ArrayUtils.removeElement(['a'], 'b')           = ['a']
 ArrayUtils.removeElement(['a', 'b'], 'a')      = ['b']
 ArrayUtils.removeElement(['a', 'b', 'a'], 'a') = ['b', 'a']
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static double[] remove(double[] array,
                              int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([1.1], 0)           = []
 ArrayUtils.remove([2.5, 6.0], 0)      = [6.0]
 ArrayUtils.remove([2.5, 6.0], 1)      = [2.5]
 ArrayUtils.remove([2.5, 6.0, 3.8], 1) = [2.5, 3.8]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static double[] removeElement(double[] array,
                                     double element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 1.1)            = null
 ArrayUtils.removeElement([], 1.1)              = []
 ArrayUtils.removeElement([1.1], 1.2)           = [1.1]
 ArrayUtils.removeElement([1.1, 2.3], 1.1)      = [2.3]
 ArrayUtils.removeElement([1.1, 2.3, 1.1], 1.1) = [2.3, 1.1]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static float[] remove(float[] array,
                             int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([1.1], 0)           = []
 ArrayUtils.remove([2.5, 6.0], 0)      = [6.0]
 ArrayUtils.remove([2.5, 6.0], 1)      = [2.5]
 ArrayUtils.remove([2.5, 6.0, 3.8], 1) = [2.5, 3.8]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static float[] removeElement(float[] array,
                                    float element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 1.1)            = null
 ArrayUtils.removeElement([], 1.1)              = []
 ArrayUtils.removeElement([1.1], 1.2)           = [1.1]
 ArrayUtils.removeElement([1.1, 2.3], 1.1)      = [2.3]
 ArrayUtils.removeElement([1.1, 2.3, 1.1], 1.1) = [2.3, 1.1]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static int[] remove(int[] array,
                           int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([1], 0)         = []
 ArrayUtils.remove([2, 6], 0)      = [6]
 ArrayUtils.remove([2, 6], 1)      = [2]
 ArrayUtils.remove([2, 6, 3], 1)   = [2, 3]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static int[] removeElement(int[] array,
                                  int element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 1)      = null
 ArrayUtils.removeElement([], 1)        = []
 ArrayUtils.removeElement([1], 2)       = [1]
 ArrayUtils.removeElement([1, 3], 1)    = [3]
 ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static long[] remove(long[] array,
                            int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([1], 0)         = []
 ArrayUtils.remove([2, 6], 0)      = [6]
 ArrayUtils.remove([2, 6], 1)      = [2]
 ArrayUtils.remove([2, 6, 3], 1)   = [2, 3]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static long[] removeElement(long[] array,
                                   long element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 1)      = null
 ArrayUtils.removeElement([], 1)        = []
 ArrayUtils.removeElement([1], 2)       = [1]
 ArrayUtils.removeElement([1, 3], 1)    = [3]
 ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1

remove

public static short[] remove(short[] array,
                             int index)

Removes the element at the specified position from the specified array. All subsequent elements are shifted to the left (substracts one from their indices).

This method returns a new array with the same elements of the input array except the element on the specified position. The component type of the returned array is always the same as that of the input array.

If the input array is null, an IndexOutOfBoundsException will be thrown, because in that case no valid index can be specified.

 ArrayUtils.remove([1], 0)         = []
 ArrayUtils.remove([2, 6], 0)      = [6]
 ArrayUtils.remove([2, 6], 1)      = [2]
 ArrayUtils.remove([2, 6, 3], 1)   = [2, 3]
 

Parameters:
array - the array to remove the element from, may not be null
index - the position of the element to be removed
Returns:
A new array containing the existing elements except the element at the specified position.
Throws:
IndexOutOfBoundsException - if the index is out of range (index < 0 || index >= array.length), or if the array is null.
Since:
2.1

removeElement

public static short[] removeElement(short[] array,
                                    short element)

Removes the first occurrence of the specified element from the specified array. All subsequent elements are shifted to the left (substracts one from their indices). If the array doesn't contains such an element, no elements are removed from the array.

This method returns a new array with the same elements of the input array except the first occurrence of the specified element. The component type of the returned array is always the same as that of the input array.

 ArrayUtils.removeElement(null, 1)      = null
 ArrayUtils.removeElement([], 1)        = []
 ArrayUtils.removeElement([1], 2)       = [1]
 ArrayUtils.removeElement([1, 3], 1)    = [3]
 ArrayUtils.removeElement([1, 3, 1], 1) = [3, 1]
 

Parameters:
array - the array to remove the element from, may be null
element - the element to be removed
Returns:
A new array containing the existing elements except the first occurrence of the specified element.
Since:
2.1


Copyright © 2001-2005 The Apache Software Foundation. All Rights Reserved.