Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class zad3_FinalExam_7Dec {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- String input = scanner.nextLine();
- Map<String, List<String>> messagesMap = new LinkedHashMap<>();
- Map<String, Integer> messagesCountMap = new LinkedHashMap<>();
- while(!input.equals("Statistics")){
- String[] inputArray = input.split("->");
- switch (inputArray[0]){
- case"Add":
- String addUsername = inputArray[1];
- if(messagesMap.containsKey(addUsername)){
- System.out.println(addUsername+" is already registered");
- }else{
- List<String> messagesList = new ArrayList<>();
- messagesMap.put(addUsername, messagesList);
- messagesCountMap.put(addUsername, 0);
- }
- break;
- case"Send":
- String senderUsername = inputArray[1];
- String email = inputArray[2];
- messagesMap.get(senderUsername).add(email);
- messagesMap.replace(senderUsername, messagesMap.get(senderUsername));
- messagesCountMap.replace(senderUsername, messagesCountMap.get(senderUsername)+1);
- break;
- case"Delete":
- String deleteUsername = inputArray[1];
- if(messagesMap.containsKey(deleteUsername)) {
- messagesMap.remove(deleteUsername);
- messagesCountMap.remove(deleteUsername);
- }else{
- System.out.println(deleteUsername+" not found!");
- }
- break;
- }
- input = scanner.nextLine();
- }
- int usersCount = messagesMap.size();
- System.out.println("Users count: "+usersCount);
- messagesCountMap.entrySet().stream().sorted((a,b)-> {
- int res = b.getValue().compareTo(a.getValue());
- if(res == 0){
- res = a.getKey().compareTo(b.getKey());
- }
- return res;
- }).forEach(entry -> {
- String username = entry.getKey();
- System.out.println(username);
- for(String currentEmail : messagesMap.get(username)){
- System.out.println(String.format(" - %s",currentEmail));
- }
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement