Mega Code Archive

 
Categories / Java Tutorial / Collections
 

Searching Arrays

public static  int binarySearch( byte array[],  byte key) public static int binarySearch(char array[], char key) public static int binarySearch(double array[], double key) public static int binarySearch(float array[], float key) public static int binarySearch(int array[], int key) public static int binarySearch(long array[], long key) public static int binarySearch(short array[], short key) import java.util.Arrays; public class MainClass {   public static void main(String args[]) throws Exception {     int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };     Arrays.sort(array);     printArray("Sorted array", array);     int index = Arrays.binarySearch(array, 2);     System.out.println("Found 2 @ " + index);     index = Arrays.binarySearch(array, 1);     System.out.println("Didn't find 1 @ " + index);     int newIndex = -index - 1;     array = insertElement(array, 1, newIndex);     printArray("With 1 added", array);   }   private static void printArray(String message, int array[]) {     System.out.println(message + ": [length: " + array.length + "]");     for (int i = 0; i < array.length; i++) {       if (i != 0)         System.out.print(", ");       System.out.print(array[i]);     }     System.out.println();   }   private static int[] insertElement(int original[], int element, int index) {     int length = original.length;     int destination[] = new int[length + 1];     System.arraycopy(original, 0, destination, 0, index);     destination[index] = element;     System.arraycopy(original, index, destination, index + 1, length - index);     return destination;   } } Sorted array: [length: 10] -9, -7, -3, -2, 0, 2, 4, 5, 6, 8 Found 2 @ 5 Didn't find 1 @ -6 With 1 added: [length: 11] -9, -7, -3, -2, 0, 1, 2, 4, 5, 6, 8