• + 0 comments
    import java.io.*;
    import java.util.*;
    
    public class Solution {
    
        public static void main(String[] args) {
            /* Enter your code here. Read input from STDIN. Print output to STDOUT. Your class should be named Solution. */
            Scanner sc = new Scanner(System.in);
            int totalnumberOfStudents = sc.nextInt();
            List<HashMap <String,String> > listOfMap = new  ArrayList<>();
            sc.nextLine();
            for(int i = 1; i <= totalnumberOfStudents; i++){
                HashMap<String,String> map = new HashMap<>();
                String studentDetails = sc.nextLine();
                String [] studentDetailsArr = studentDetails.split(" ");
                map.put("id", studentDetailsArr[0]);
                map.put("Name", studentDetailsArr[1]);
                map.put("cgpa", studentDetailsArr[2]);
                listOfMap.add(map);
            }
    listOfMap.sort(Comparator
        .comparingDouble((Map<String, String> item) -> Double.parseDouble(item.get("cgpa")))
        .reversed()
        .thenComparing((Map<String, String> item) -> item.get("Name"))
        .thenComparing((Map<String, String> item) -> Integer.parseInt(item.get("id"))));
    
    for(Map<String,String> names : listOfMap){
        System.out.println(names.get("Name"));
    }
    
        }
    }