Improvements for 5.3
parent
e0f8a9360e
commit
cfedacde33
@ -1,26 +1,26 @@
|
|||||||
package _5._3;
|
package _5._3;
|
||||||
|
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class Group<T extends Older> {
|
public class Group<T extends Older<T>> {
|
||||||
private LinkedList<T> members = new LinkedList<>();
|
private List<T> members = new LinkedList<>();
|
||||||
|
|
||||||
public void add(T member) {
|
public void add(T member) {
|
||||||
this.members.add(member);
|
this.members.add(member);
|
||||||
}
|
}
|
||||||
|
|
||||||
public T getOldest() {
|
public T getOldest() {
|
||||||
if (members.isEmpty()) {
|
if(this.members.isEmpty()) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
T oldestMember = members.get(0);
|
T oldest = this.members.get(0);
|
||||||
|
for(int i = 1; i < this.members.size(); i++) {
|
||||||
for (int i=1; i<members.size(); i++) {
|
if(this.members.get(i).isOlder(oldest)) {
|
||||||
if (members.get(i).isOlder(oldestMember)) {
|
oldest = this.members.get(i);
|
||||||
oldestMember = members.get(i);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return oldestMember;
|
return oldest;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
package _5._3;
|
package _5._3;
|
||||||
|
|
||||||
public interface Older<T> {
|
public interface Older<T> {
|
||||||
public boolean isOlder(T other);
|
boolean isOlder(T other);
|
||||||
|
|
||||||
public int getAge();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,14 @@
|
|||||||
|
package provided._5._3;
|
||||||
|
|
||||||
|
import _5._3.Group;
|
||||||
|
import _5._3.Person;
|
||||||
|
|
||||||
|
public class TestGroup {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Group<Person> group = new Group<>();
|
||||||
|
group.add(new Person("Alice", 25));
|
||||||
|
group.add(new Person("Bob", 23));
|
||||||
|
group.add(new Person("Carl", 26));
|
||||||
|
System.out.println(group.getOldest().getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue