SophiYo

O6Courses

Mar 20th, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.68 KB | None | 0 0
  1. package O7AssocietiveArrays.Exercise;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.*;
  7. import java.util.regex.Pattern;
  8. import java.util.stream.Collectors;
  9.  
  10. public class O6Courses {
  11.     public static void main(String[] args) throws IOException {
  12.         BufferedReader reader =
  13.             new BufferedReader(
  14.                 new InputStreamReader(
  15.                     System.in
  16.                 )
  17.             );
  18.  
  19.         LinkedHashMap<String, List<String>> courses = new LinkedHashMap<>();
  20.         String input;
  21.  
  22.         while (!"end".equalsIgnoreCase(input = reader.readLine())) {
  23.             String[] tokens = input.split("\\s+:\\s+");
  24.  
  25.             courses
  26.                     .putIfAbsent(tokens[0], new ArrayList<>());
  27.  
  28.             courses
  29.                     .get(tokens[0]).add(tokens[1]);
  30.  
  31.  
  32.         }
  33.  
  34.                 courses
  35.                 .entrySet()
  36.                 .stream()
  37.                 .sorted((meSecond, meFirst)->
  38.                         Integer.compare(meFirst.getValue().size(),
  39.                         meSecond.getValue().size()))
  40.  
  41.                 .forEach(littleFuck-> {
  42.                     System.out.println(
  43.                             littleFuck.getKey() +
  44.                                     ": " +
  45.                                     littleFuck.getValue().size());
  46.                     littleFuck
  47.                             .getValue()
  48.                             .stream()
  49.                             .sorted(Comparator.naturalOrder())
  50.                             .forEach(ej-> System.out.println("-- " + ej));
  51.                         })
  52.                 ;
  53.  
  54.  
  55.     }
  56. }
Add Comment
Please, Sign In to add comment