</>

Technology

Java Programs

Difficulty

Beginner

Interview Question

Write a Java program to implement Linear Search in an array.

Answer

Linear Search in Java

Java
public class LinearSearch {
    public static void main(String[] args) {
        int array[]         = { 100, 200, 300, 400, 500 };
        int search_element  = 400;
        int c;

        for (c = 0; c < array.length; c++) {
            if (array[c] == search_element) {   // Searching element is present
                System.out.println(search_element +
                    " is present at location " + (c + 1) + ".");
                break;
            }
        }

        if (c == array.length)  /* Element to search isn't present */
            System.out.println(search_element + " isn't present in array.");
    }
}

Output

CODE
400 is present at location 4.

Using Boolean Flag (Clean Approach)

Java
public class LinearSearchFlag {
    public static void main(String[] args) {
        int[] array        = { 10, 20, 30, 40, 50 };
        int search_element = 30;
        boolean found      = false;

        for (int i = 0; i < array.length; i++) {
            if (array[i] == search_element) {
                System.out.println(search_element + " found at index " + i +
                    " (location " + (i + 1) + ")");
                found = true;
                break;
            }
        }

        if (!found) {
            System.out.println(search_element + " NOT found in array");
        }
    }
}

Search Number Using Enhanced For Loop

Java
int a[] = { 10, 20, 30, 40, 50 };
int num  = 30;
boolean flag = false;

for (int i : a) {
    if (num == i) {
        System.out.println("Element found");
        flag = true;
        break;
    }
}

if (flag == false) {
    System.out.println("Element NOT found");
}

Search String in Array

Java
String[] a = { "abc", "xyz", "pqr", "mno" };
String search_String = "xyz";
boolean flag = false;

for (String s : a) {
    if (search_String.equals(s)) {   // Use .equals() NOT == for Strings
        System.out.println("Element found");
        flag = true;
        break;
    }
}

if (!flag) {
    System.out.println("Element NOT found");
}

Linear vs Binary Search

Linear SearchBinary Search
Array must be sortedNoYes
Time complexityO(n)O(log n)
Best forSmall/unsorted arraysLarge sorted arrays
ImplementationSimpleModerate

Automation Testing Relevance

Java
// Search for specific text in a list of web elements
List<WebElement> rows = driver.findElements(By.css("table tr"));
boolean found = false;

for (WebElement row : rows) {
    if (row.getText().contains("John Doe")) {
        System.out.println("Record found: " + row.getText());
        found = true;
        break;
    }
}
assertTrue(found, "John Doe not found in table");

Follow AutomateQA