-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathTraditionalSearch.java
47 lines (37 loc) · 1.14 KB
/
TraditionalSearch.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package ocp.chapter.twelve;
import java.util.*;
import java.util.function.Predicate;
class Animal {
private String species;
private boolean canHop;
private boolean canSwim;
public Animal(String speciesName, boolean hooper, boolean swimmer) {
species = speciesName;
canHop = hooper;
canSwim = swimmer;
}
public boolean canHop() {
return canHop;
}
public boolean canSwim() {
return canSwim;
}
public String toString() {
return species;
}
}
public class TraditionalSearch {
public static void main(String... args) {
var animals = new ArrayList<Animal>();
animals.add(new Animal("fish", false, true));
animals.add(new Animal("kangaroo", true, true));
animals.add(new Animal("rabbit", true, false));
animals.add(new Animal("turtle", false, true));
print(animals, a -> a.canHop()); // Will print only the hoppers
}
private static void print(List<Animal> animals, Predicate<Animal> checker) {
for(Animal animal : animals) {
if (checker.test(animal)) System.out.println(animal);
}
}
}