Find the second highest element from a list of intergers using stream
Suppose we have an array of integers
int[] numbers = {5, 9, 11, 2, 8, 21, 1}; // sort in descending-order and get 2nd largest element int secondLargestNumber = Arrays .stream(numbers) .boxed() .sorted(Comparator.reverseOrder()) .skip(1) .findFirst() .get();
Here boxed() will convert array values to Integer objects and sorted() will sort it in descending order after sorting it in descending order we will skip the first one which is the largest element in aray and will get the second one .
Like this we can get the desired result