package com.java8.logical_Programs;

import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

public class PrintNumbersInDescendingOrder {
    public static void main(String[] args) {
        // Given list of numbers. print the numbers in descending order

        // Approach 1
        List<Integer> listOfStr = Arrays.asList(15,4,13,6,19,25,28,39,2,11);
        List<Integer> listInDescendingOrder = listOfStr.stream()
                .sorted(Comparator.reverseOrder())
                .collect(Collectors.toList());
        System.out.println("List in Descending Order using Approach-1: " + listInDescendingOrder);

        System.out.println("*********************************");

        // Approach 2
        List<Integer> listInDescOrder1 = listOfStr.stream().sorted((n1, n2) -> n2.compareTo(n1))
                .collect(Collectors.toList());
        System.out.println("List in Descending Order using Approach-2: " + listInDescOrder1);
    }
}