Java Program to Print the Smallest Element in an Array
Last Updated :
13 Sep, 2022
Improve
Java provides a data structure, the array, which stores the collection of data of the same type. It is a fixed-size sequential collection of elements of the same type.
Example:
arr1[] = {2 , -1 , 9 , 10} output : -1 arr2[] = {0, -10, -13, 5} output : -13
We need to find and print the smallest value element of an array in this program.
- By maintaining a min element and updating it while traversing over the whole array if we encounter a number smaller than min.
- By sorting an array and printing the 0th index element of the array after sorting.
Approach 1: Maintaining a min element and updating it while traversing over the whole array if we encounter a number smaller than min.
// Java program to print the smallest element of the array
public class FindSmallestElementInArray {
public static void main(String[] args)
{
// Either we can initialize array elements or can
// get input from user. Always it is best to get
// input from user and form the array
int[] initializedArray
= new int[] { 25, 110, 74, 75, 5 };
System.out.println("Given array ");
for (int i = 0; i < initializedArray.length; i++) {
System.out.println(initializedArray[i]);
}
// Initialize minValue with first element of array.
int minValue = initializedArray[0];
// Loop through the array
for (int i = 0; i < initializedArray.length; i++) {
// Compare elements of array with minValue and
// if condition true, make minValue to that
// element
if (initializedArray[i] < minValue)
minValue = initializedArray[i];
}
System.out.println(
"Smallest element present in given array: "
+ minValue);
}
}
Output
Given array 25 110 74 75 5 Smallest element present in given array: 5
Time Complexity: O(n)
Space Complexity: O(1)
Approach 2: By sorting an array and printing the 0th index element of the array after sorting.
// Java program to print the smallest element of the array
import java.util.*;
public class FindSmallestElementInArray {
public static void main(String[] args)
{
// we can initialize array elements
int[] initializedArray = new int[] { 25, 110, 74, 75, 5 };
System.out.println("Given array ");
for (int i = 0; i < initializedArray.length; i++) {
System.out.println(initializedArray[i]);
}
// sort the array
Arrays.sort(initializedArray);
int minValue = initializedArray[0];
System.out.println(
"Smallest element present in given array: "
+ minValue);
}
}
Output
Given array 25 110 74 75 5 Smallest element present in given array: 5
Time complexity: O(NlogN) Since the time taken for sorting is NlogN, where there are N elements of the array
Space complexity: O(1)
Approach 3: Using Collections.min() and ArrayList
// Java program to print the smallest element of the array
import java.lang.*;
import java.util.*;
public class Main {
public static void main(String[] args)
{
// Either we can initialize array elements or can
// get input from user. Always it is best to get
// input from user and form the array
int[] initializedArray
= new int[] { 25, 110, 74, 75, 5 };
ArrayList<Integer> al = new ArrayList<>();
System.out.println("Given array ");
for (int i = 0; i < initializedArray.length; i++) {
System.out.println(initializedArray[i]);
// adding elements of array to arrayList.
al.add(initializedArray[i]);
}
System.out.println(
"Smallest element present in given array: "
+ Collections.min(al));
}
}
Output
Given array 25 110 74 75 5 Smallest element present in given array: 5