Find second smallest element in an array of integers (java / example)

  • Given an array of integers in java.
  • Print second smallest element in an array (in single iteration).
  • We have already discussed to find out second largest element in an array of integers.

Example – find second smallest element in an array of integers (java).

Example 1:

  1. Given an input array  {2, 4, 6, 8, 10, 12}.
  2. Smallest element in an array is 2 and second smallest element in an array is 4.

Example 2:

  1. Given an input array  {5, 3, 4, 1, 2}.
  2. Smallest element in an array is 1 and second smallest element in an array is 2.

Example 3:

  • Given an input array  {16, 41, 41, 9, 41, 7}.
  • Smallest element in an array is 7 and second smallest element in an array is 9.

Program – second smallest element in an array of integers (java/ example).

1.) SecondSmallestElement class:

  • SecondSmallestElement class is responsible for finding the second smallest element in an array,
  • printSecondSmallestElement method will print second smallest element.
package org.learn;

import java.util.Arrays;

public class SecondSmallestElement {
    public static void main(String[] args) {

        int[] inputArray = {2, 4, 6, 8, 10, 12};
        printSecondSmallestElement(inputArray);

        System.out.println();
        inputArray = new int[]{5, 3, 4, 1, 2};
        printSecondSmallestElement(inputArray);

        System.out.println();
        inputArray = new int[]{16, 41, 41, 9, 41, 7};
        printSecondSmallestElement(inputArray);

    }

    private static void printSecondSmallestElement(int[] inputArray) {
        int firstSmallest = inputArray[0];
        int secondSmallest = Integer.MAX_VALUE;

        for (int index = 1; index < inputArray.length; index++) {
            int currentElement = inputArray[index];
            if(firstSmallest > currentElement) {
                secondSmallest = firstSmallest;
                firstSmallest = currentElement;
            } else if(secondSmallest > currentElement && firstSmallest < currentElement) {
                secondSmallest = currentElement;
            }
        }
        String array = Arrays.toString(inputArray);
        if(secondSmallest != Integer.MIN_VALUE) {
            System.out.printf("Second Smallest element in %s is : %d",array,secondSmallest);
        } else {
            System.out.printf("There is not second Smallest element in array %s ",array);
        }
    }
}

Output – second largest element in an array of integers in java

Second Smallest element in [2, 4, 6, 8, 10, 12] is : 4
Second Smallest element in [5, 3, 4, 1, 2] is : 2
Second Smallest element in [16, 41, 41, 9, 41, 7] is : 9
Scroll to Top