How to sort an array and search an element inside it using Java



Problem Description

How to sort an array and search an element inside it?

Solution

Following example shows how to use sort () and binarySearch () method to accomplish the task. The user defined method printArray () is used to display the output −

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

Result

The above code sample will produce the following result.

Sorted array: [length: 10]
-9, -7, -3, -2, 0, 2, 4, 5, 6, 8
Found 2 @ 5

Problem Description

How to compare Two arrays?

public class HelloWorld { 
   public static void main (String[] args) {
      int arr1[] = {1, 2, 3};
      int arr2[] = {1, 2, 3};
      
      if (arr1 == arr2) System.out.println("Same"); 
      else System.out.println("Not same");
   } 
}

The above code sample will produce the following result.

Not same   

Another sample example of Array compare

import java.util.Arrays;

public class HelloWorld { 
   public static void main (String[] args) { 
      int arr1[] = {1, 2, 3};
      int arr2[] = {1, 2, 3};
   
      if (Arrays.equals(arr1, arr2)) System.out.println("Same"); 
      else System.out.println("Not same");
   }
}

The above code sample will produce the following result.

Same   
java_arrays.htm
Advertisements