How to Search Element in Java Array with Example

find an index of the object in Array
While programming in Java, many times we need to check if a String array contains a particular String or an int array contains a number or not. Though array is an object in Java but it does not provide any convenient method to perform these kinds of operations. Sometimes you even need an index of an item stored in Array, unfortunately, Java API does not provide any direct method. Thanks to Open Source Apache Commons provides a utility class called ArrayUtils which allows you to check for an Item in Array, find its index in the array, find its lastIndex in Array and perform several other common operations. In fact, ArrayUtils has overloaded methods for different kinds of Array e.g. String, int, float, double, Object, etc, which makes this kind of programming task trivial. In this article, we will see an Apache commons example of How to use ArrayUtils class to search an item in Array and find its index.

And, if you need to refresh your knowledge about essential data structure like array then I highly recommend checking out Data Structures and Algorithms: Deep Dive Using Java course on Udemy. It's a hands-on course and covers all essential data structures. It's also very affordable and you can get in just $10 on Udemy flash sales which happens every week.


Java program to check and find index of a String in String array

Java program to find index of object in Array in Java with exampleHere is complete code example of Apache Commons ArrayUtils class which makes checking for an item in array extremely easy, no matter which kind of array it is. ArrayUtils has overloaded method for all kinds of array. We will ArrayUtils.contains() and ArrayUtils.indexOf() method to check if Array contains an item and what is an index of that item. 




If you want to do it without Apache commons ArrayUtils class, you can just convert your array to ArrayList by following any of these three methods of converting Array to ArrayList and you can leverage contains(), indexOf() and lastIndexOf() method of List class to perform these operations. 

By the way you need to include Apache commons JAR in your classpath to execute this example, if you are using Maven you can just include Apache common dependency in your pom.xml file


package test;

import java.util.Arrays;
import java.util.List;
import org.apache.commons.lang.ArrayUtils;

/**
 *
 * Java program to check if an Array contains an Item or not
 * and finding index of that item. For example, How to check if
 * a String array contains a particular String or not and What is
 * index of that String in Java program.
 *
 * @author http://java67.blogspot.com
 */

public class ArrayTest{

 
    public static void main(String args[]) {
 
      String[] programming = new String[]{"Java", "C++", "Perl", "Lisp"};
   
      // Checking an String in String Array by converting Array To ArrayList
      List<String> programmingList = Arrays.asList(programming);
   
      //Checking does this Array contains Java
      boolean result = programmingList.contains("Java");
   
      System.out.println("Does programming Array contains Java? " + result);
   
      int index = programmingList.indexOf("Java");
   
      System.out.println("Index of Java in programming Array is : " + index);
   
   
      // Checking item in Array using Apache Commons ArrayUtils class
   
      System.out.println("Does programming array has Java? " +
                          ArrayUtils.contains(programming, "Java"));
      System.err.println("What is index of Java in array? " +
                          ArrayUtils.indexOf(programming, "Java"));    
   
    }
     
}

Output
Does programming Array contain Java? true
Index of Java in programming Array is : 0
Does programming array has Java? true
What is the index of Java in the array? 0

These were two easy way to check items in Array and finding the index of an Item on Array in Java. Both of these techniques will work in any kind of Array e.g String array or Object array. ArrayUtils even accept primitive arrays e.g. int, float, long etc.

Further Learning
Java In-Depth: Become a Complete Java Engineer
Java Fundamentals: Collections
Data Structures and Algorithms: Deep Dive Using Java
Data Structures in Java: An Interview Refresher
Cracking the Coding Interview - 189 Questions and Solutions


Related Data Structure and Algorithm Interview Questions from Javarevisited Blog
  • Top 15 Data Structure and Algorithm Interview Questions (see here)
  • How to reverse an array in place in Java? (solution)
  • 50+ Data Structure and Algorithms Problems from Interviews (questions)
  • How to remove duplicate elements from an array in Java? (solution)
  • How to check if a number is binary in Java? (answer)
  • Top 30 Array Coding Interview Questions with Answers (see here)
  • How to find all pairs whose sum is equal to a given number in Java (solution)
  • Top 30 linked list coding interview questions (see here)
  • 100+ Data Structure Coding Problems from Interviews (questions)
  • Write a Program remove duplicates from an array without using Collection API? (program)
  • How to reverse String in Java without using API methods? (Solution)
  • Write a method to remove duplicates from ArrayList in Java? (Solution)
  • Top 50 Java Programs from Coding Interviews (see here)
  • 5 Free Data Structure and Algorithms Courses for Programmers (courses)
  • How to compare two arrays in Java? (answer)
  • Top 20 String coding interview questions (see here)
  • 10 Algorithms Books Every Programmer Should Read (books)
  • 10 Free Data Structure and Algorithm Courses for Programmers (courses)
  • How to find a missing number in an array? (answer)

Thanks for reading this article so far. If you like this article then please share it with your friends and colleagues. If you have any questions or doubt then please let us know and I'll try to find an answer for you. As always suggestions, comments, innovative and better answers are most welcome.

P. S. - If you are looking for some Free Data Structure and Algorithms courses to improve your understanding of Data Structure and Algorithms, then you should also check the Data Structure in Java free course on Udemy. It's completely free and all you need to do is create a free Udemy account to enroll in this course. 

2 comments:

  1. how can add time for lnear search?

    ReplyDelete
    Replies
    1. can you please clarify what do you mean? linear search is O(n) time operation.

      Delete