fork download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Kamus
  9. {
  10. private Map<String, List<String>> data = new HashMap<>();
  11.  
  12. public void tambah(String kata, String[] sinonim){
  13. for (String s : sinonim){
  14. simpan(s, kata);
  15. simpan(kata, s);
  16. }
  17. }
  18.  
  19. private void simpan(String kata, String sinonim){
  20. data.putIfAbsent(kata, new ArrayList<>());
  21. if (!data.get(kata).contains(sinonim)) {
  22. data.get(kata).add(sinonim);
  23. }
  24. }
  25.  
  26. public String[] ambilSinonim(String kata){
  27. if(!data.containsKey(kata)) return null;
  28. return data.get(kata).toArray(new String[0]);
  29. }
  30.  
  31. public static void main (String[] args) throws java.lang.Exception
  32. {
  33. Kamus kamus = new Kamus();
  34. kamus.tambah("big", new String[]{"large","great"});
  35. kamus.tambah("big", new String[]{"huge","fat"});
  36. kamus.tambah("huge", new String[]{"enormous","gigantic"});
  37.  
  38. System.out.println(Arrays.toString(kamus.ambilSinonim("big")));
  39. System.out.println(Arrays.toString(kamus.ambilSinonim("huge")));
  40. System.out.println(Arrays.toString(kamus.ambilSinonim("gigantic")));
  41. System.out.println(Arrays.toString(kamus.ambilSinonim("colossal")));
  42.  
  43. }
  44. }
Success #stdin #stdout 0.07s 52596KB
stdin
Standard input is empty
stdout
[large, great, huge, fat]
[big, enormous, gigantic]
[huge]
null