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 }