import java.util.Map;
import java.util.HashMap;
class Main {
public static void main
(String[] args
) { Map
<String,Object
> name2object
= new HashMap
<String,Object
>(); name2object.
put("Fred",
new Object()); name2object.
put("Wilma",
new Object()); name2object.
put("Betty",
new Object()); System.
out.
println(name2object
);
String[] names
= {"Bam-Bam",
"Barney",
"Betty",
"Fred",
"Pebbles",
"Wilma"}; if (name2object.containsKey(name)) {
System.
out.
println(name
+ "'s here."); } else {
System.
out.
println("Where's " + name
+ "?"); }
}
Map
<Object,String
> object2name
= new HashMap
<Object,String
>(); for (String name
: name2object.
keySet()) { Object o
= name2object.
get(name
); object2name.put(o, name);
}
System.
out.
println(object2name
);
for (Object o
: name2object.
values()) { String name
= object2name.
get(o
); if (name.equals("Wilma")) {
System.
out.
println("Wilma is " + o.
toString() + "."); }
}
}
}
aW1wb3J0IGphdmEudXRpbC5NYXA7CmltcG9ydCBqYXZhLnV0aWwuSGFzaE1hcDsKCmNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHsKICAgICAgICBNYXA8U3RyaW5nLE9iamVjdD4gbmFtZTJvYmplY3QgPSBuZXcgSGFzaE1hcDxTdHJpbmcsT2JqZWN0PigpOwogICAgICAgIG5hbWUyb2JqZWN0LnB1dCgiRnJlZCIsIG5ldyBPYmplY3QoKSk7CiAgICAgICAgbmFtZTJvYmplY3QucHV0KCJXaWxtYSIsIG5ldyBPYmplY3QoKSk7CiAgICAgICAgbmFtZTJvYmplY3QucHV0KCJCZXR0eSIsIG5ldyBPYmplY3QoKSk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG5hbWUyb2JqZWN0KTsKICAgICAgICAKICAgICAgICBTdHJpbmdbXSBuYW1lcyA9IHsiQmFtLUJhbSIsIkJhcm5leSIsIkJldHR5IiwiRnJlZCIsIlBlYmJsZXMiLCJXaWxtYSJ9OwogICAgICAgIGZvciAoU3RyaW5nIG5hbWU6IG5hbWVzKSB7CiAgICAgICAgICAgIGlmIChuYW1lMm9iamVjdC5jb250YWluc0tleShuYW1lKSkgewogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG5hbWUgKyAiJ3MgaGVyZS4iKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiV2hlcmUncyAiICsgbmFtZSArICI/Iik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgTWFwPE9iamVjdCxTdHJpbmc+IG9iamVjdDJuYW1lID0gbmV3IEhhc2hNYXA8T2JqZWN0LFN0cmluZz4oKTsKICAgICAgICBmb3IgKFN0cmluZyBuYW1lOiBuYW1lMm9iamVjdC5rZXlTZXQoKSkgewogICAgICAgICAgICBPYmplY3QgbyA9IG5hbWUyb2JqZWN0LmdldChuYW1lKTsKICAgICAgICAgICAgb2JqZWN0Mm5hbWUucHV0KG8sIG5hbWUpOwogICAgICAgIH0KICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4ob2JqZWN0Mm5hbWUpOwogICAgICAgIAogICAgICAgIGZvciAoT2JqZWN0IG86IG5hbWUyb2JqZWN0LnZhbHVlcygpKSB7CiAgICAgICAgICAgIFN0cmluZyBuYW1lID0gb2JqZWN0Mm5hbWUuZ2V0KG8pOwogICAgICAgICAgICBpZiAobmFtZS5lcXVhbHMoIldpbG1hIikpIHsKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiV2lsbWEgaXMgIiArIG8udG9TdHJpbmcoKSArICIuIik7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9Cn0K