Searching

Searching in arrays in Java involves finding the position of a specific element within an array. The Arrays class provides methods to perform searching efficiently, including linear search and binary search algorithms.

Arrays Class – Searching Methods

Method Signature Description
public static int binarySearch(int[] a, int key) Searches for key in the sorted int array using binary search.
public static int binarySearch(long[] a, long key) Searches for key in the sorted long array using binary search.
public static int binarySearch(double[] a, double key) Searches for key in the sorted double array using binary search.
public static int binarySearch(char[] a, char key) Searches for key in the sorted char array using binary search.
public static int binarySearch(byte[] a, byte key) Searches for key in the sorted byte array using binary search.
public static int binarySearch(short[] a, short key) Searches for key in the sorted short array using binary search.
public static int binarySearch(float[] a, float key) Searches for key in the sorted float array using binary search.
public static <T> int binarySearch(T[] a, T key) Searches for key in the sorted object array using the natural ordering.
public static <T> int binarySearch(T[] a, T key, Comparator<? super T> c) Searches the sorted object array using a custom comparator.
public static int binarySearch(int[] a, int fromIndex, int toIndex, int key) Searches within a subrange of the int array.
public static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key) Searches in a specified range of object array using natural ordering.
public static <T> int binarySearch(T[] a, int fromIndex, int toIndex, T key, Comparator<? super T> c) Searches a range in object array with a custom comparator.
import java.util.Arrays;

public class ArraysSearchingExample {
    public static void main(String[] args) {
        int[] numbers = {1, 3, 5, 7, 9, 11, 13};

        // Performing binary search on sorted array
        int key = 7;
        int index = Arrays.binarySearch(numbers, key);

        if (index >= 0) {
            System.out.println(key + " found at index " + index);
        } else {
            System.out.println(key + " not found in array");
        }
    }
}

/*
D:\>javac ArraysSearchingExample.java

D:\>java ArraysSearchingExample
7 found at index 3
*/

import java.util.Arrays;

public class ArraysSearchingRangeExample {
    public static void main(String[] args) {
        int[] numbers = {1, 3, 5, 7, 9, 11, 13};

        // Performing binary search on a range of sorted array
        int key = 5;
        int index = Arrays.binarySearch(numbers, 1, 5, key);

        if (index >= 0) {
            System.out.println(key + " found at index " + index);
        } else {
            System.out.println(key + " not found in array");
        }
    }
}

/*
D:\>javac ArraysSearchingRangeExample.java

D:\>java ArraysSearchingRangeExample
5 found at index 2
*/
Scroll to Top