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);
}
} |
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);
}
} |
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));
}
} |
Given array 25 110 74 75 5 Smallest element present in given array: 5