G2A Many GEOs
SHARE
TWEET

Followers Java

a guest Apr 1st, 2020 99 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package com.company;
  2.  
  3. import java.util.*;
  4.  
  5. public class products {
  6.     public static void main(String[] args) {
  7.         Scanner scanner = new Scanner(System.in);
  8.         HashMap<String, List<Integer>> namesAndCount = new HashMap<>();
  9.  
  10.         String line = scanner.nextLine();
  11.         while (!"Log out".equals(line)) {
  12.             String[] tokens = line.split("\\: ");
  13.             String name = tokens[1];
  14.             String command = tokens[0];
  15.             switch (command){
  16.                 case"New follower":
  17.                     if(!namesAndCount.containsKey(name)){
  18.                         namesAndCount.put(name,new ArrayList<>());
  19.                         namesAndCount.get(name).add(0,0);
  20.                         namesAndCount.get(name).add(1,0);
  21.                     }
  22.  
  23.                     break;
  24.                 case"Like":
  25.                     int likes = Integer.parseInt(tokens[2]);
  26.                     if(!namesAndCount.containsKey(name)) {
  27.                         namesAndCount.put(name,new ArrayList<>());
  28.                         namesAndCount.get(name).add(0,likes);
  29.                         namesAndCount.get(name).add(1,0);
  30.                     }else{
  31.                         int oldLikes = namesAndCount.get(name).get(0);
  32.                         namesAndCount.get(name).set(0, oldLikes + likes);
  33.                     }
  34.                     break;
  35.                 case "Comment":
  36.                     int comment = 1;
  37.                     if(!namesAndCount.containsKey(name)){
  38.                         namesAndCount.put(name,new ArrayList<>());
  39.                         namesAndCount.get(name).add(0,0);
  40.                         namesAndCount.get(name).add(1,comment);
  41.                     }else{
  42.                         int oldComments = namesAndCount.get(name).get(1);
  43.                         namesAndCount.get(name).set(1, oldComments + comment);
  44.                     }
  45.  
  46.                     break;
  47.                 case "Blocked":
  48.                     if(namesAndCount.containsKey(name)){
  49.                         namesAndCount.remove(name, namesAndCount.get(name));
  50.                     }else{
  51.                         System.out.printf("%s doesn't exist.%n", name);
  52.                     }
  53.  
  54.                     break;
  55.             }
  56.  
  57.             line = scanner.nextLine();
  58.         }
  59.         System.out.printf("%d followers%n", namesAndCount.size());
  60.         namesAndCount.entrySet().stream().sorted((f,s) ->{
  61.             if(like(s.getValue()) == like(f.getValue())){
  62.                 return f.getKey().compareTo(s.getKey());
  63.             }
  64.             return Integer.compare(like(s.getValue()),like(f.getValue()));
  65.         }).forEach(entry -> {
  66.             System.out.printf("%s: %d%n",entry.getKey(),sun(entry.getValue()));
  67.         });
  68.  
  69.     }
  70.     public static int sun(List<Integer>list){
  71.         return list.get(0) + list.get(1);
  72.  
  73.     }
  74.     public static int like(List<Integer>list){
  75.         return list.get(0);
  76.     }
  77. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top