🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.
▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube
▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube
Arrays utility class, and the ArrayList class.Table of Contents
- Introduction
- Using a Loop
- Using
ArraysUtility Class - Using
ArrayList - Conclusion
Introduction
Java provides several ways to search for an element in an array and return its index. Depending on the type of array (primitive or object) and specific requirements, you can choose the most appropriate method.
Using a Loop
The most straightforward way to find the index of an element in an array is to use a loop to iterate through the array.
Example (Primitive Array)
public class FindIndexExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
int target = 3;
int index = findIndex(numbers, target);
System.out.println("Index of " + target + " is: " + index);
}
public static int findIndex(int[] array, int target) {
for (int i = 0; i < array.length; i++) {
if (array[i] == target) {
return i;
}
}
return -1; // Element not found
}
}
Explanation
- A loop iterates through the array.
- The method returns the index if the target element is found.
- The method returns
-1if the element is not found.
Output:
Index of 3 is: 2
Example (Object Array)
public class FindIndexExample {
public static void main(String[] args) {
String[] words = {"apple", "banana", "cherry"};
String target = "banana";
int index = findIndex(words, target);
System.out.println("Index of " + target + " is: " + index);
}
public static int findIndex(Object[] array, Object target) {
for (int i = 0; i < array.length; i++) {
if (array[i].equals(target)) {
return i;
}
}
return -1; // Element not found
}
}
Explanation
- The method uses
equalsto compare objects. - Similar to the previous example, it returns the index or
-1if not found.
Output:
Index of banana is: 1
Using Arrays Utility Class
The Arrays utility class provides a method called binarySearch to find the index of an element. Note that the array must be sorted for binarySearch to work correctly.
Example
import java.util.Arrays;
public class FindIndexExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
int target = 3;
int index = Arrays.binarySearch(numbers, target);
System.out.println("Index of " + target + " is: " + index);
}
}
Explanation
Arrays.binarySearch(numbers, target): Searches the array for the target element using binary search and returns its index.- The array must be sorted before calling
binarySearch.
Output:
Index of 3 is: 2
Note
For an unsorted array, you can sort it first using Arrays.sort(array) before performing the binary search.
Using ArrayList
If you are working with an array of objects and want to leverage the indexOf method, you can convert the array to an ArrayList.
Example
import java.util.ArrayList;
import java.util.Arrays;
public class FindIndexExample {
public static void main(String[] args) {
String[] words = {"apple", "banana", "cherry"};
String target = "banana";
int index = findIndex(words, target);
System.out.println("Index of " + target + " is: " + index);
}
public static int findIndex(String[] array, String target) {
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
return list.indexOf(target);
}
}
Explanation
Arrays.asList(array): Converts the array to a list.new ArrayList<>(list): Creates anArrayListfrom the list.list.indexOf(target): Returns the index of the target element or-1if not found.
Output:
Index of banana is: 1
Conclusion
Finding the index of an element in an array in Java can be accomplished using various methods:
- Using a loop is straightforward and works for both primitive and object arrays.
- The
Arraysutility class providesbinarySearchfor sorted arrays. - Converting an array to an
ArrayListallows you to use theindexOfmethod for object arrays.
By understanding these methods, you can choose the most appropriate one for your specific use case when working with arrays in Java.
Comments
Post a Comment
Leave Comment