YL的专栏

生入逆旅单行道,哪有岁月可回头。

泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间
/*
 定义比较器的时候可以定义父类的比较器,这样其子类对象都可以调用,避免了要根据不同的对象定义不同的比较器。
 */
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);
	}
}


结果:


阅读更多
版权声明:本文为博主原创文章,如需转载请注明出处。 https://blog.csdn.net/u012369373/article/details/49964533
个人分类: JAVA
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭