import java.util.HashMap;
import java.util.Map;
import java.util.function.Predicate;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Ideone {
public static void main
(String[] args
) { Map<Predicate<String>, String> gbu = new HashMap<>();
gbu.put(x -> x.contains("a"), "good");
gbu.put(x -> x.contains("b"), "bad");
gbu.put(x -> x.contains("c"), "ugly");
Stream.of("bad", "abc", "a")
.map(str ->
str + ":\t" + gbu.entrySet().stream()
.filter(entry -> entry.getKey().test(str))
.collect(Collectors.joining(", "))
)
.
forEach(System.
out::println
); }
}
aW1wb3J0IGphdmEudXRpbC5IYXNoTWFwOwppbXBvcnQgamF2YS51dGlsLk1hcDsKaW1wb3J0IGphdmEudXRpbC5mdW5jdGlvbi5QcmVkaWNhdGU7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLkNvbGxlY3RvcnM7CmltcG9ydCBqYXZhLnV0aWwuc3RyZWFtLlN0cmVhbTsKCmNsYXNzIElkZW9uZSB7CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgTWFwPFByZWRpY2F0ZTxTdHJpbmc+LCBTdHJpbmc+IGdidSA9IG5ldyBIYXNoTWFwPD4oKTsKICAgICAgICBnYnUucHV0KHggLT4geC5jb250YWlucygiYSIpLCAiZ29vZCIpOwogICAgICAgIGdidS5wdXQoeCAtPiB4LmNvbnRhaW5zKCJiIiksICJiYWQiKTsKICAgICAgICBnYnUucHV0KHggLT4geC5jb250YWlucygiYyIpLCAidWdseSIpOwoKICAgICAgICBTdHJlYW0ub2YoImJhZCIsICJhYmMiLCAiYSIpCiAgICAgICAgICAgICAgICAubWFwKHN0ciAtPgogICAgICAgICAgICAgICAgICAgICAgICBzdHIgKyAiOlx0IiArIGdidS5lbnRyeVNldCgpLnN0cmVhbSgpCiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoZW50cnkgLT4gZW50cnkuZ2V0S2V5KCkudGVzdChzdHIpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoTWFwLkVudHJ5OjpnZXRWYWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY29sbGVjdChDb2xsZWN0b3JzLmpvaW5pbmcoIiwgIikpCiAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAuZm9yRWFjaChTeXN0ZW0ub3V0OjpwcmludGxuKTsKICAgIH0KfQ==