Sort by

recency

|

342 Discussions

|

  • + 0 comments
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Scanner;
    import java.util.stream.Collectors;
    
    public class JavaSort {
    	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 size = sc.nextInt();
    		sc.nextLine();
    		var list = new ArrayList<Map<String, Map<String, String>>>();
    		for (int i = 0; i < size; i++) {
    			String[] str = sc.nextLine().split(" ");
    			var map = new HashMap<String, String>();
    			var map2 = new HashMap<String, Map<String, String>>();
    			map.put(str[0], str[2]);
    			map2.put(str[1], map);
    			list.add(map2);
    		}
    
    		var c = list.stream().sorted((a, b) -> {
    			String ak = a.keySet().iterator().next();
    			String bk = b.keySet().iterator().next();
    			Map<String, String> av1 = a.get(ak);
    			Map<String, String> bv1 = b.get(bk);
    			String ak1 = av1.keySet().iterator().next();
    			String bk1 = bv1.keySet().iterator().next();
    			int re = bv1.get(bk1).compareTo(av1.get(ak1));
    			int re1 = ak1.compareTo(bk1);
    			int re2 = ak.compareTo(bk);
    			if (re == 0) {
    				return re2;
    			} else {
    				if (re1 == 0) {
    					return re2;
    				} else {
    					return re;
    				}
    			}
    		}).collect(Collectors.toList());
    		
    		c.forEach(i -> {
    			System.out.println(i.keySet().iterator().next());
    		});
    
    	}
    }
    
  • + 0 comments
            
            Comparator<Student> score = new Comparator<Student>() {
                public int compare(Student a, Student b){
                    if(a.getCgpa() < b.getCgpa())
                    return 1;
                    else if(a.getCgpa() > b.getCgpa())
                    return -1;
                    else if(a.getFname().compareTo(b.getFname()) > 0)
                    return 1;
                    else if(a.getFname().compareTo(b.getFname()) == 0 && a.getId()<b.getCgpa())
                    return 1;                
                    else
                    return -1;
                } 
            };
            Collections.sort(studentList, score);
          	for(Student st: studentList){
    			System.out.println(st.getFname());
    		}    
    
  • + 0 comments
        Comparator<Student> score = new Comparator<Student>() {
            public int compare(Student a, Student b){
                if(a.getCgpa() < b.getCgpa())
                return 1;
                else if(a.getCgpa() > b.getCgpa())
                return -1;
                else if(a.getFname().compareTo(b.getFname()) > 0)
                return 1;
                else if(a.getFname().compareTo(b.getFname()) == 0 && a.getId()<b.getCgpa())
                return 1;                
                else
                return -1;
            } 
        };
        Collections.sort(studentList, score);
        for(Student st: studentList){
            System.out.println(st.getFname());
        }    
    
  • + 0 comments

    import java.io.; import java.util.; import java.util.stream.Collectors;

    class Details{ int id; String name; double point;

    public Details(int id,String name,double point){
        this.id = id;
        this.name = name;
        this.point = point;
    }
    
    public String getName(){
        return name;
    }
    public int getId(){
        return id;
    }
    public double getPoint(){
        return point;
    }
    

    }

    public class Main {

    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 persons = new Scanner(System.in);
        int numberOfPersons = persons.nextInt();
    
       List<Details> students = new ArrayList<>();
    
    
    
        for(int i=0;i<numberOfPersons;i++){
            int id = persons.nextInt();
            String name = persons.next();
            double point = persons.nextDouble();
             students.add(new Details(id, name, point));
    
        }
        persons.close();
    
       List<Details> answer = students.stream().sorted(Comparator.comparingDouble(Details::getPoint).reversed().thenComparing(Details::getName).thenComparingInt(Details::getId)).collect(Collectors.toList());
    
      answer.forEach(student->System.out.println(student.name));
    
    
    }
    

    }

    
    
    
    
  • + 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"));
    }
    
        }
    }