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 */