fork download
  1. import java.util.HashMap;
  2. import java.util.Map;
  3. import java.util.function.Predicate;
  4. import java.util.stream.Collectors;
  5. import java.util.stream.Stream;
  6.  
  7. class Ideone {
  8. public static void main(String[] args) {
  9. Map<Predicate<String>, String> gbu = new HashMap<>();
  10. gbu.put(x -> x.contains("a"), "good");
  11. gbu.put(x -> x.contains("b"), "bad");
  12. gbu.put(x -> x.contains("c"), "ugly");
  13.  
  14. Stream.of("bad", "abc", "a")
  15. .map(str ->
  16. str + ":\t" + gbu.entrySet().stream()
  17. .filter(entry -> entry.getKey().test(str))
  18. .map(Map.Entry::getValue)
  19. .collect(Collectors.joining(", "))
  20. )
  21. .forEach(System.out::println);
  22. }
  23. }
Success #stdin #stdout 0.16s 56192KB
stdin
Standard input is empty
stdout
bad:	good, bad
abc:	good, bad, ugly
a:	good