Collections Java Tutorial

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