Advertisement
Guest User

Untitled

a guest
Mar 19th, 2019
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.82 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.concurrent.atomic.AtomicInteger;
  3.  
  4. public class kur {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         Map<String, LinkedHashMap<String, Integer>> dwarfs = new LinkedHashMap<>();
  9.         String input;
  10.         int pedal = Integer.compare(7, 6);
  11.  
  12.         while (!"Once upon a time".equals(input = scanner.nextLine())) {
  13.  
  14.             String[] lineInput = input.split(" <:> ");
  15.  
  16.             String name = lineInput[0];
  17.             String hatColor = lineInput[1];
  18.             int physics = Integer.parseInt(lineInput[2]);
  19.  
  20.             dwarfs.putIfAbsent(hatColor, new LinkedHashMap<>());
  21.             dwarfs.get(hatColor).putIfAbsent(name, physics);
  22.  
  23.             if (dwarfs.get(hatColor).get(name) < physics) {
  24.                 dwarfs.get(hatColor).put(name, physics);
  25.             }
  26.         }
  27.  
  28.  
  29.         Map<String, Integer> print = new LinkedHashMap<>();
  30.  
  31.         for(Map.Entry<String, LinkedHashMap<String, Integer>> entry : dwarfs.entrySet()) {
  32.             for(Map.Entry<String, Integer> subEntry : entry.getValue().entrySet()) {
  33.                 print.put(entry.getKey() + " " + subEntry.getKey(), subEntry.getValue());
  34.             }
  35.         }
  36.  
  37.         print.entrySet().stream().sorted((pair2, pair1) -> {
  38.             int sort = Integer.compare(pair2.getValue(), pair1.getValue());
  39.             if (sort == 0) {
  40.  
  41.                 String[] sort1 = pair2.getKey().split(" ");
  42.                 String[] sort2 = pair1.getKey().split(" ");
  43.                 sort = sort1[0].compareTo(sort2[0]);
  44.             }
  45.             return sort;
  46.         }).forEach(pair -> {
  47.             String[] printing = pair.getKey().split(" ");
  48.             System.out.printf("(%s) %s <-> %d\n", printing[0], printing[1], pair.getValue());
  49.         });
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement