关闭

泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间

351人阅读 评论(0) 收藏 举报
分类:
/*
 定义比较器的时候可以定义父类的比较器,这样其子类对象都可以调用,避免了要根据不同的对象定义不同的比较器。
 */
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;

class compare implements Comparator<Person2>{
	public int compare(Person2 t1, Person2 t2) {
		// TODO 自动生成的方法存根
		return t1.getName().compareTo(t2.getName());
	}
}
public class GenericDemo2 {
	public static void main(String[] args) {
		TreeSet<Student3> ts=new TreeSet<Student3>(new compare());
		ts.add(new Student3("abc001"));
		ts.add(new Student3("abc003"));
		ts.add(new Student3("abc002"));
		ts.add(new Student3("abc004"));
		
		Iterator<Student3> it=ts.iterator();
		while(it.hasNext())
		{
			System.out.println(it.next().getName());
		}
		TreeSet<Worker> wk=new TreeSet<Worker>(new compare());
			wk.add(new Worker("w---abc001"));
			wk.add(new Worker("w---abc006"));
			wk.add(new Worker("w---abc004"));
			wk.add(new Worker("w---abc003"));
			wk.add(new Worker("w---abc005"));
			Iterator<Worker> it1=wk.iterator();
			while(it1.hasNext()){
				System.out.println(it1.next().getName());
			}
	}
}

class Person2{
	private String name;
	Person2(String name){
		this.name=name;
	}
	public String getName(){
		return name;
	}
}
class Student3 extends Person2{
	Student3(String name){
		super(name);
	}
}
class Worker extends Person2{
	Worker(String name){
		super(name);
	}
}


结果:


4
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:193375次
    • 积分:6288
    • 等级:
    • 排名:第3923名
    • 原创:337篇
    • 转载:6篇
    • 译文:0篇
    • 评论:157条
    博客专栏
    文章分类
    推荐博客
    最新评论