Advertisement
Guest User

Untitled

a guest
Mar 31st, 2020
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Task1100 {
  4.  
  5. public static void main(String[] args) {
  6.  
  7. Scanner scanner = new Scanner(System.in);
  8. int nTeams = Integer.parseInt(scanner.nextLine());
  9. LinkedHashMap<Integer, Byte> map = new LinkedHashMap<>();
  10.  
  11. for (int i = 0; i < nTeams; i++) {
  12. int teamNumber = scanner.nextInt();
  13. byte score = scanner.nextByte();
  14. map.put(teamNumber, score);
  15. }
  16.  
  17. sortByValue(map);
  18.  
  19. for (Integer key : map.keySet()) {
  20. System.out.printf("%d %d\n", key, map.get(key));
  21. }
  22. }
  23.  
  24. public static void sortByValue(LinkedHashMap<Integer, Byte> elements) {
  25.  
  26. LinkedHashMap<Integer, Byte> result = new LinkedHashMap<>();
  27. Set<Map.Entry<Integer, Byte>> entries = elements.entrySet();
  28. List<Map.Entry<Integer, Byte>> listOfEntries = new ArrayList<>(entries);
  29.  
  30. Comparator<Map.Entry<Integer, Byte>> comparator = new Comparator<Map.Entry<Integer, Byte>>() {
  31. @Override
  32. public int compare(Map.Entry<Integer, Byte> e1, Map.Entry<Integer, Byte> e2) {
  33. return e2.getValue().compareTo(e1.getValue());
  34. }
  35. };
  36.  
  37. Collections.sort(listOfEntries, comparator);
  38.  
  39. for (Map.Entry<Integer, Byte> entry : listOfEntries) {
  40. result.put(entry.getKey(), entry.getValue());
  41. }
  42.  
  43. elements.clear();
  44.  
  45. for (Integer key : result.keySet()) {
  46. elements.put(key, result.get(key));
  47. }
  48. }
  49.  
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement