This class defines static methods for sorting, searching, and performing other useful operations on arrays. It also defines the asList( ) method, which returns a List wrapper around a specified array of objects. Any changes made to the List are also made to the underlying array. This is a powerful method that allows any array of objects to be manipulated in any of the ways a List can be manipulated. It provides a link between arrays and the Java collections framework. The various sort ( ) methods sort an array (or a specified portion of an array) in place. Variants of the method are defined for arrays of each primitive type and for arrays of Object . For arrays of primitive types, the sorting is done according to the natural ordering of the type. For arrays of objects, the sorting is done according to the specified Comparator , or, if the array contains only java.lang.Comparable objects, according to the ordering defined by that interface. When sorting an array of objects, a stable sorting algorithm is used so that the relative ordering of equal objects is not disturbed. (This allows repeated sorts to order objects by key and subkey , for example.) The binarySearch( ) methods perform an efficient search (in logarithmic time) of a sorted array for a specified value. If a match is found in the array, binarySearch( ) returns the index of the match. If no match is found, the method returns a negative number. For a negative return value r , the index -(r+1) specifies the array index at which the specified value can be inserted to maintain the sorted order of the array. When the array to be searched is an array of objects, the elements of the array must all implement java.lang.Comparable , or you must provide a Comparator object to compare them. The equals( ) methods test whether two arrays are equal. Two arrays of primitive type are equal if they contain the same number of elements and if corresponding pairs of elements are equal according to the == operator. Two arrays of objects are equal if they contain the same number of elements and if corresponding pairs of elements are equal according to the equals( ) method defined by those objects. The fill( ) methods fill an array or a specified range of an array with the specified value. Java 5.0 adds hashCode( ) methods that compute a hashcode for the contents of the array. These methods are compatible with the equals( ) methods: equal( ) arrays will always have the same hashCode( ) . Java 5.0 also adds deepEquals( ) and deepHashCode( ) methods that handle multi-dimensional arrays. Finally, the Java 5.0 toString( ) and deepToString( ) methods convert arrays to strings. The returned strings are a comma-separated list of elements enclosed in square brackets. public class Arrays { // No Constructor // Public Class Methods public static <T> List<T> asList (T ... a ); public static int binarySearch (char[ ] a , char key ); public static int binarySearch (short[ ] a , short key ); public static int binarySearch (long[ ] a , long key ); public static int binarySearch (int[ ] a , int key ); public static int binarySearch (float[ ] a , float key ); public static int binarySearch (Object[ ] a , Object key ); public static int binarySearch (byte[ ] a , byte key ); public static int binarySearch (double[ ] a , double key ); public static <T> int binarySearch (T[ ] a , T key , Comparator<? super T> c ); 5.0 public static boolean deepEquals (Object[ ] a1 , Object[ ] a2 ); 5.0 public static int deepHashCode (Object[ ] a ); 5.0 public static String deepToString (Object[ ] a ); public static boolean equals (boolean[ ] a , boolean[ ] a2 ); public static boolean equals (long[ ] a , long[ ] a2 ); public static boolean equals (float[ ] a , float[ ] a2 ); public static boolean equals (double[ ] a , double[ ] a2 ); public static boolean equals (char[ ] a , char[ ] a2 ); public static boolean equals (byte[ ] a , byte[ ] a2 ); public static boolean equals (int[ ] a , int[ ] a2 ); public static boolean equals (short[ ] a , short[ ] a2 ); public static boolean equals (Object[ ] a , Object[ ] a2 ); public static void fill (char[ ] a , char val ); public static void fill (short[ ] a , short val ); public static void fill (byte[ ] a , byte val ); public static void fill (int[ ] a , int val ); public static void fill (double[ ] a , double val ); public static void fill (boolean[ ] a , boolean val ); public static void fill (Object[ ] a , Object val ); public static void fill (float[ ] a , float val ); public static void fill (long[ ] a , long val ); public static void fill (int[ ] a , int fromIndex , int toIndex , int val ); public static void fill (double[ ] a , int fromIndex , int toIndex , double val ); public static void fill (short[ ] a , int fromIndex , int toIndex , short val ); public static void fill (char[ ] a , int fromIndex , int toIndex , char val ); public static void fill (float[ ] a , int fromIndex , int toIndex , float val ); public static void fill (byte[ ] a , int fromIndex , int toIndex , byte val ); public static void fill (boolean[ ] a , int fromIndex , int toIndex , boolean val ); public static void fill (Object[ ] a , int fromIndex , int toIndex , Object val ); public static void fill (long[ ] a , int fromIndex , int toIndex , long val ); 5.0 public static int hashCode (short[ ] a ); 5.0 public static int hashCode (char[ ] a ); 5.0 public static int hashCode (long[ ] a ); 5.0 public static int hashCode (int[ ] a ); 5.0 public static int hashCode (byte[ ] a ); 5.0 public static int hashCode (double[ ] a ); 5.0 public static int hashCode (Object[ ] a ); 5.0 public static int hashCode (boolean[ ] a ); 5.0 public static int hashCode (float[ ] a ); public static void sort (Object[ ] a ); public static void sort (short[ ] a ); public static void sort (float[ ] a ); public static void sort (double[ ] a ); public static void sort (long[ ] a ); public static void sort (byte[ ] a ); public static void sort (char[ ] a ); public static void sort (int[ ] a ); public static <T> void sort (T[ ] a , Comparator<? super T> c ); public static void sort (short[ ] a , int fromIndex , int toIndex ); public static void sort (int[ ] a , int fromIndex , int toIndex ); public static void sort (char[ ] a , int fromIndex , int toIndex ); public static void sort (long[ ] a , int fromIndex , int toIndex ); public static void sort (float[ ] a , int fromIndex , int toIndex ); public static void sort (double[ ] a , int fromIndex , int toIndex ); public static void sort (byte[ ] a , int fromIndex , int toIndex ); public static void sort (Object[ ] a , int fromIndex , int toIndex ); public static <T> void sort (T[ ] a , int fromIndex , int toIndex , Comparator<? super T> c ); 5.0 public static String toString (float[ ] a ); 5.0 public static String toString (boolean[ ] a ); 5.0 public static String toString (Object[ ] a ); 5.0 public static String toString (double[ ] a ); 5.0 public static String toString (int[ ] a ); 5.0 public static String toString (long[ ] a ); 5.0 public static String toString (short[ ] a ); 5.0 public static String toString (byte[ ] a ); 5.0 public static String toString (char[ ] a ); } |