1 @Test 2 void predicateTest() throws Exception { 3 List<String> languages = Arrays.asList("Java", "Scala", "C++", "Haskell", "Lisp"); 4 System.out.println("Languages which starts with J :"); 5 filter(languages, (str) -> ((String) str).startsWith("J")); 6 System.out.println("Languages which ends with a "); 7 filter(languages, (str) -> ((String) str).endsWith("a")); 8 System.out.println("Print all languages :"); 9 filter(languages, (str) -> true); 10 System.out.println("Print no language : "); 11 filter(languages, (str) -> false); 12 System.out.println("Print language whose length greater than 4:"); 13 filter(languages, (str) -> ((String) str).length() > 4); 14 } 15 16 public static void filter(List names, Predicate condition) { 17 for (String name : names) { 18 if (condition.test(name)) { 19 System.out.println(name + " "); 20 } 21 } 22 }