Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class NikuldensMeals {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Map<String, List<String>> guestsMealsMap = new TreeMap<>();
- int countUnlike = 0;
- String command;
- while (!"Stop".equals(command = scanner.nextLine())) {
- String[] tokens = command.split("-");
- String guest = tokens[1];
- String meal = tokens[2];
- switch (tokens[0]) {
- case "Like":
- guestsMealsMap.putIfAbsent(guest, new ArrayList<>());
- if (!guestsMealsMap.get(guest).contains(meal)) {
- guestsMealsMap.get(guest).add(meal);
- }
- break;
- case "Unlike":
- if (!guestsMealsMap.containsKey(guest)) {
- System.out.printf("%s is not at the party.%n", guest);
- } else {
- if (guestsMealsMap.get(guest).contains(meal)) {
- guestsMealsMap.get(guest).remove(meal);
- System.out.printf("%s doesn't like the %s.%n", guest, meal);
- countUnlike++;
- } else {
- System.out.printf("%s doesn't have the %s in his/her collection.%n", guest, meal);
- }
- }
- break;
- }
- }
- guestsMealsMap
- .entrySet()
- .stream()
- .sorted((a, b) -> b.getValue().size() - a.getValue().size())
- .forEach(entry -> {
- System.out.printf("%s: ", entry.getKey());
- System.out.println(String.join(", ", entry.getValue()));
- });
- System.out.printf("Unliked meals: %d", countUnlike);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement