Initial commit for 5.3

generic-observer
Lisa 7 years ago
parent 02e4f164a2
commit 257357c8d5

@ -0,0 +1,26 @@
package _5._3;
import java.util.LinkedList;
public class Group<T extends Older> {
private LinkedList<T> members = new LinkedList<>();
public void add(T member) {
this.members.add(member);
}
public T getOldest() {
if (members.isEmpty()) {
return null;
}
T oldestMember = members.get(0);
for (int i=1; i<members.size(); i++) {
if (members.get(i).isOlder(oldestMember)) {
oldestMember = members.get(i);
}
}
return oldestMember;
}
}

@ -0,0 +1,7 @@
package _5._3;
public interface Older<T> {
public boolean isOlder(T other);
public int getAge();
}

@ -0,0 +1,23 @@
package _5._3;
public class Person<T extends Older> implements Older<T> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public int getAge() {
return age;
}
public String getName() {
return name;
}
public boolean isOlder(T other) {
return this.age > other.getAge();
}
}
Loading…
Cancel
Save