Insert into a sorted array in Java

Description

The following code shows how to insert into a sorted array.

Example


// w  w w  . j  av a2 s . c om
import java.util.Arrays;

public class Main {
  public static void main(String args[]) throws Exception {
    int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 };

    // Ensure array sorted
    Arrays.sort(array);
    System.out.println(Arrays.toString(array));

    // Search for element in array
    int index = Arrays.binarySearch(array, 2);
    System.out.println("Found 2 at " + index);

    // Search for element not in array
    index = Arrays.binarySearch(array, 1);
    System.out.println("Didn't find 1 at " + index);

    // Insert
    int newIndex = -index - 1;
    array = insertElement(array, 1, newIndex);
    System.out.println(Arrays.toString(array));

  }

  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;
  }
}

The code above generates the following result.





















Home »
  Java Tutorial »
    Java Data Type »




Java Boolean
Java Byte
Java Character
Java Currency
Java Double
Java Enum
Java Float
Java Integer
Java Long
Java Short
Java Auto Grow Array
Java Array Compare
Java Array Convert
Java Array Copy Clone
Java Array Fill
Java Array Search and Sort
Java String Convert
Java String File
Java String Format
Java String Operation
Java BigDecimal
Java BigInteger