Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class concert {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- Map<String, Integer> playTimeMap = new LinkedHashMap<>();
- Map<String, List<String>> bandMembersMap = new LinkedHashMap<>();
- String input = scanner.nextLine();
- while(!input.equals("start of concert")){
- String[]inputArray = input.split(";\\s+");
- switch (inputArray[0]){
- case"Add":
- String band = inputArray[1];
- if(bandMembersMap.containsKey(band)){
- List<String> moreMembers = bandMembersMap.get(band);
- for(int i = 2; i < inputArray.length; i++){
- if(!bandMembersMap.get(band).contains(inputArray[i])) {
- moreMembers.add(inputArray[i]);
- }
- }
- bandMembersMap.replace(band, moreMembers);
- }else{
- List<String>members = new ArrayList<>();
- for(int i = 2; i < inputArray.length; i++){
- members.add(inputArray[i]);
- }
- bandMembersMap.put(band, members);
- }
- break;
- case"Play":
- String playBand = inputArray[1];
- int playTime = Integer.parseInt(inputArray[2]);
- if(playTimeMap.containsKey(playBand)){
- playTimeMap.replace(playBand, playTimeMap.get(playBand)+playTime);
- }else{
- playTimeMap.put(playBand, playTime);
- }
- break;
- }
- input = scanner.nextLine();
- }
- int totalPlayTime = 0;
- for(Map.Entry<String, Integer> entry : playTimeMap.entrySet()){
- totalPlayTime += entry.getValue();
- }
- System.out.println("Total time: "+totalPlayTime);
- playTimeMap.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 currentBand = entry.getKey();
- int currentBandPlayTime = entry.getValue();
- System.out.println(String.format("%s -> %d", currentBand, currentBandPlayTime));
- });
- String bandName = scanner.nextLine();
- System.out.println(bandName);
- for(String output : bandMembersMap.get(bandName)){
- System.out.println("=> "+output);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement