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