Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package AssociativeArrays_07.Excersise;
- import java.util.*;
- public class Courses_06 {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String command = sc.nextLine();
- Map<String, ArrayList<String>> courseAndName = new LinkedHashMap<>();
- while (!command.equals("end")) {
- String[] token = command.split(":");
- String course = token[0];
- String name = token[1];
- courseAndName.putIfAbsent(course, new ArrayList<>());
- courseAndName.get(course).add(name);
- command = sc.nextLine();
- }
- courseAndName
- .entrySet()
- .stream()
- .sorted(Map.Entry.<String, ArrayList<String>>comparingByValue(Comparator.comparingInt(ArrayList::size))
- .reversed()
- .thenComparing(Map.Entry.comparingByKey()))
- .forEach(entry -> {
- String temp = String.valueOf(entry.getValue().size());
- System.out.println
- // removes " " before ":"
- (String.join("", entry.getKey().trim(), ": ", temp));
- entry.getValue()
- .stream()
- .sorted(Comparator.comparing(String::new, Comparator.nullsFirst(String.CASE_INSENSITIVE_ORDER)))
- .forEach(e -> System.out.printf("--%s%n", e));
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement