How to find Nth largest number in an array list using streams

This is the fourth solution to find the Nth largest number from an array list of given integers or doubles or strings. This program uses the sorted(), and collectors() methods of stream.

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Random;
import java.util.stream.Collectors;

public class NthLargestGenerics {

	public static void main(String[] args) {

		// Initialized integers in this ArrayList
		ArrayList<Integer> inSt = new ArrayList<>(Arrays.asList(34, 21, 45, 75, 62, 98, 13, 49));
		Random randNum = new Random();
		System.out.println("The Size of the integers array List = " + inSt.size());
		inSt.stream().forEach(i -> System.out.print(i + " "));
		// get the random position, to find the nTh largest number using stream
		int nTh = randNum.nextInt(inSt.size() + 1);
		nTh = (nTh == 0 ? 1 : nTh);
		System.out.println(
				"\n" + nTh + " Largest number is= " + inSt.stream().sorted().collect(Collectors.toList()).get(inSt.size()-nTh));

		// Initialized Doubles in this ArrayList
		ArrayList<Double> doublesSt = new ArrayList<>(
				Arrays.asList(43.83, 12.91, 54.39, 57.82, 26.41, 89.05, 31.72, 94.05));
		System.out.println("\nThe Size of the Doubles array List = " + doublesSt.size());
		doublesSt.stream().forEach(i -> System.out.print(i + " "));
		// get the random position, to find the nTh largest Double using stream
		nTh = randNum.nextInt(doublesSt.size() + 1);
		nTh = (nTh == 0 ? 1 : nTh);
		System.out.println("\n" + nTh + " Largest Double value is= "
				+ doublesSt.stream().sorted().collect(Collectors.toList()).get(inSt.size()-nTh));

		// Initialized Strings in this ArrayList
		ArrayList<String> StringSt = new ArrayList<>(
				Arrays.asList("MIKE", "RUSS", "SANJAY", "VALLI", "JOHN", "RAMAA", "DAVE", "NAGENDRA"));
		System.out.println("\nThe Size of the Strings array List = " + StringSt.size());
		StringSt.stream().forEach(i -> System.out.print(i + " "));
		// get the random position, to find the nTh largest string using stream
		nTh = randNum.nextInt(StringSt.size() + 1);
		nTh = (nTh == 0 ? 1 : nTh);
		System.out.println("\n" + nTh + " Largest String is= "
				+ StringSt.stream().sorted().collect(Collectors.toList()).get(inSt.size()-nTh) +" -> As per Alphabets");
	}
}
OUTPUT:

The Size of the integers array List = 8
34 21 45 75 62 98 13 49 
1 Largest number is= 98

The Size of the Doubles array List = 8
43.83 12.91 54.39 57.82 26.41 89.05 31.72 94.05 
4 Largest Double value is= 54.39

The Size of the Strings array List = 8
MIKE RUSS SANJAY VALLI JOHN RAMAA DAVE NAGENDRA 
4 Largest String is= RAMAA -> As per Alphabets