import java.util.*;
class Ideone {
public static void main
(String[] args
) { Kamus kamus = new Kamus();
kamus.
tambah("big",
new String[]{"large",
"great"}); kamus.
tambah("big",
new String[]{"huge",
"fat"}); kamus.
tambah("huge",
new String[]{"enormous",
"gigantic"});
String[] sinonim
= kamus.
ambilSinonim("huge"); if (sinonim != null) {
System.
out.
println("Sinonim huge: " + Arrays.
toString(sinonim
)); } else {
System.
out.
println("Tidak ditemukan sinonim."); }
}
}
class Kamus {
private HashMap
<String, List
<String
>> dict
= new HashMap
<>();
List<String> existing = dict.getOrDefault(key, new ArrayList<>());
existing.
addAll(Arrays.
asList(values
)); dict.put(key, existing);
}
if (dict.containsKey(key)) {
List<String> value = dict.get(key);
return value.
toArray(new String[0]); }
return null;
}
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgSWRlb25lIHsKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBLYW11cyBrYW11cyA9IG5ldyBLYW11cygpOwogICAgICAgIGthbXVzLnRhbWJhaCgiYmlnIiwgbmV3IFN0cmluZ1tdeyJsYXJnZSIsICJncmVhdCJ9KTsKICAgICAgICBrYW11cy50YW1iYWgoImJpZyIsIG5ldyBTdHJpbmdbXXsiaHVnZSIsICJmYXQifSk7CiAgICAgICAga2FtdXMudGFtYmFoKCJodWdlIiwgbmV3IFN0cmluZ1tdeyJlbm9ybW91cyIsICJnaWdhbnRpYyJ9KTsKCiAgICAgICAgU3RyaW5nW10gc2lub25pbSA9IGthbXVzLmFtYmlsU2lub25pbSgiaHVnZSIpOwogICAgICAgIGlmIChzaW5vbmltICE9IG51bGwpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJTaW5vbmltIGh1Z2U6ICIgKyBBcnJheXMudG9TdHJpbmcoc2lub25pbSkpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiVGlkYWsgZGl0ZW11a2FuIHNpbm9uaW0uIik7CiAgICAgICAgfQogICAgfQp9CgpjbGFzcyBLYW11cyB7CiAgICBwcml2YXRlIEhhc2hNYXA8U3RyaW5nLCBMaXN0PFN0cmluZz4+IGRpY3QgPSBuZXcgSGFzaE1hcDw+KCk7CgogICAgcHVibGljIHZvaWQgdGFtYmFoKFN0cmluZyBrZXksIFN0cmluZ1tdIHZhbHVlcykgewogICAgICAgIExpc3Q8U3RyaW5nPiBleGlzdGluZyA9IGRpY3QuZ2V0T3JEZWZhdWx0KGtleSwgbmV3IEFycmF5TGlzdDw+KCkpOwogICAgICAgIGV4aXN0aW5nLmFkZEFsbChBcnJheXMuYXNMaXN0KHZhbHVlcykpOwogICAgICAgIGRpY3QucHV0KGtleSwgZXhpc3RpbmcpOwogICAgfQoKICAgIHB1YmxpYyBTdHJpbmdbXSBhbWJpbFNpbm9uaW0oU3RyaW5nIGtleSkgewogICAgICAgIGlmIChkaWN0LmNvbnRhaW5zS2V5KGtleSkpIHsKICAgICAgICAgICAgTGlzdDxTdHJpbmc+IHZhbHVlID0gZGljdC5nZXQoa2V5KTsKICAgICAgICAgICAgcmV0dXJuIHZhbHVlLnRvQXJyYXkobmV3IFN0cmluZ1swXSk7CiAgICAgICAgfQogICAgICAgIHJldHVybiBudWxsOwogICAgfQp9Cg==