## Tuesday 15 August 2023

### Java program to find the Second largest number in an Array or List

Given an unsorted array of an integers or a List, to write a Java program to find the second largest number or element from the Array or a List

1) Given input is an array of integers

```import java.util.Arrays;

public class SecondLargest {

public static void main(String[] args) {
SecondLargest secondLargest = new SecondLargest();
int[] array = { 2, 8, 3, 4, 5, 7 };
System.out.println("Second largest number - " + secondLargest.findSecondLargestNumber(array));
}

private int findSecondLargestNumber(int[] array) {
Arrays.sort(array);
return array[array.length - 2];
}

}
```

Output :- Second largest number - 7

2) Given input is a list

```import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class SecondLargest {

public static void main(String[] args) {

SecondLargest secondLargest = new SecondLargest();
List<Integer> list = Arrays.asList(new Integer[] { 2, 8, 3, 4, 5, 7 });
System.out.println("Second largest number - "
+ secondLargest.findSecondLargestNumber(list));
}

private int findSecondLargestNumber(List<Integer> listOfIntegers) {
Collections.sort(listOfIntegers);
return listOfIntegers.get(listOfIntegers.size() - 2);
}

}
```

Output:- Second largest number - 7

3) Given input as a List, find second largest number using Stream(Java8)

```import java.util.Arrays;
import java.util.List;

public class SecondLargest {

public static void main(String[] args) {

SecondLargest secondLargest = new SecondLargest();
List<Integer> list = Arrays.asList(new Integer[] { 2, 8, 3, 4, 5, 7 });
System.out.println("Second largest number - "
+ secondLargest.findSecondLargestNumber(list));
}

private int findSecondLargestNumber(List<Integer> listOfIntegers) {
return listOfIntegers.stream().sorted()
.skip(listOfIntegers.size() - 2)
.findFirst()
.get();
}

}
```

Output:- Second largest number - 7.

Thank you for visiting the blog.

Related page:-