Advertisement
Edzhevit

Dictionary

Dec 19th, 2018
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.46 KB | None | 0 0
  1. package DemoFinalExam;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.IOException;
  5. import java.io.InputStreamReader;
  6. import java.util.*;
  7. import java.util.stream.Collectors;
  8.  
  9. public class Dictionary {
  10.     public static void main(String[] args) throws IOException {
  11.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  12.  
  13.         Map<String, List<String>> dictionary = new LinkedHashMap<>();
  14.  
  15.         String[] wordsAndDefinitions = reader.readLine().split(" \\| ");
  16.  
  17.         for (String wordsAndDefinition : wordsAndDefinitions) {
  18.             String[] tokens = wordsAndDefinition.split(": ");
  19.             String word = tokens[0];
  20.             String definitions = tokens[1];
  21.  
  22.             dictionary.putIfAbsent(word,new ArrayList<>());
  23.             dictionary.get(word).add(definitions);
  24.  
  25.         }
  26.  
  27.         String[] wordsToPrint = reader.readLine().split(" \\| ");
  28.         for (String s : wordsToPrint) {
  29.             if (dictionary.containsKey(s)){
  30.                 System.out.println(s);
  31.                 dictionary.get(s).stream().sorted((a,b) -> b.length() - a.length()).forEach(e -> System.out.println("-" + e));
  32.             }
  33.            
  34.         }
  35.  
  36.         String endOrList = reader.readLine();
  37.  
  38.         if (endOrList.equals("List")){
  39.             String result = dictionary.keySet().stream().sorted(Comparator.naturalOrder()).collect(Collectors.joining(" "));
  40.             System.out.println(result);
  41.         }
  42.  
  43.     }
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement