Java Reference
In-Depth Information
The java.util.Arrays class contains various static methods for sorting and searching
arrays, comparing arrays, filling array elements, and returning a string representation of the
array. These methods are overloaded for all primitive types.
You can use the sort or parallelSort method to sort a whole array or a partial array.
For example, the following code sorts an array of numbers and an array of characters.
sort
parallelSort
double [] numbers = { 6.0 , 4.4 , 1.9 , 2.9 , 3.4 , 3.5 };
java.util.Arrays.sort(numbers); // Sort the whole array
java.util.Arrays.parallelSort(numbers); // Sort the whole array
char [] chars = { 'a' , 'A' , '4' , 'F' , 'D' , 'P' };
java.util.Arrays.sort(chars, 1 , 3 ); // Sort part of the array
java.util.Arrays.parallelSort(chars, 1 , 3 ); // Sort part of the array
Invoking sort(numbers) sorts the whole array numbers . Invoking sort(chars, 1, 3)
sorts a partial array from chars[1] to chars[3-1] . parallelSort is more efficient if
your computer has multiple processors.
You can use the binarySearch method to search for a key in an array. The array must be pre-
sorted in increasing order. If the key is not in the array, the method returns -(insertionIndex
+ 1) . For example, the following code searches the keys in an array of integers and an array
of characters.
binarySearch
int [] list = { 2 , 4 , 7 , 10 , 11 , 45 , 50 , 59 , 60 , 66 , 69 , 70 , 79 };
System.out.println( "1. Index is " +
java.util.Arrays.binarySearch(list, 11 ));
System.out.println( "2. Index is " +
java.util.Arrays.binarySearch(list, 12 ));
char [] chars = { 'a' , 'c' , 'g' , 'x' , 'y' , 'z' };
System.out.println( "3. Index is " +
java.util.Arrays.binarySearch(chars, 'a' ));
System.out.println( "4. Index is " +
java.util.Arrays.binarySearch(chars, 't' ));
The output of the preceding code is
1. Index is 4
2. Index is
-
6
3. Index is 0
4. Index is
-
4
You can use the equals method to check whether two arrays are strictly equal. Two arrays
are strictly equal if their corresponding elements are the same. In the following code, list1
and list2 are equal, but list2 and list3 are not.
equals
int [] list1 = { 2 , 4 , 7 , 10 };
int [] list2 = { 2 , 4 , 7 , 10 };
int [] list3 = { 4 , 2 , 7 , 10 };
System.out.println(java.util.Arrays.equals(list1, list2)); // true
System.out.println(java.util.Arrays.equals(list2, list3)); // false
You can use the fill method to fill in all or part of the array. For example, the following code
fills list1 with 5 and fills 8 into elements list2[1] through list2[5-1] .
fill
int [] list1 = { 2 , 4 , 7 , 10 };
int [] list2 = { 2 , 4 , 7 , 7 , 7 , 10 };
java.util.Arrays.fill(list1, 5 ); // Fill 5 to the whole array
java.util.Arrays.fill(list2, 1 , 5 , 8 ); // Fill 8 to a partial array
 
 
Search WWH ::




Custom Search