package jihe;
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
class Person7
{
private String name;
Person7(String name)
{
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Student7 extends Person7
{
Student7(String name)
{
super(name);
}
}
class Worker7 extends Person7
{
Worker7(String name)
{
super(name);
}
}
class Add7
{
void stuAdd(){
TreeSet<Student7> s=new TreeSet<Student7>(new Cp());
s.add(new Student7("java 01"));
s.add(new Student7("java 02"));
s.add(new Student7("java 03"));
s.add(new Student7("java 04"));
s.add(new Student7("java 05"));
Iter(s);
}
void worAdd()
{
TreeSet<Worker7> w=new TreeSet<Worker7>(new Cp());
w.add(new Worker7("+++java 01"));
w.add(new Worker7("+++java 02"));
w.add(new Worker7("+++java 03"));
w.add(new Worker7("+++java 04"));
w.add(new Worker7("+++java 05"));
Iter(w);
}
public void Iter(TreeSet<? extends Person7> ts)
{
Iterator<? extends Person7> it=ts.iterator();
while(it.hasNext())
{
System.out.println(it.next().getName());
}
}
}
class Cp implements Comparator<Person7>//泛型比较器,此比较器需要的元素是name,而父类含有,所以直接用父类泛型调用
{
public int compare(Person7 p1,Person7 p2)
{
return p2.getName().compareTo(p1.getName());
}
}
public class FanXingXianDing {
public static void main(String[] args) {
Add7 a=new Add7();
a.stuAdd();
a.worAdd();
}
}