——- android培训、java培训、期待与您交流! ———-
查阅API,得到:
“TreeSet(Comparator
六、比较器的泛型定义方式分析
import java.util.*;
class GenericDemo6
{
public static void main(String[] args)
{
//方式二和方式一选其一,打开对于的代码块就可以了
TreeSet<Student> al1 = new TreeSet<Student>();//方式一让学生自身具备比较性
//TreeSet<Student> al1 = new TreeSet<Student>(new Comp());//方式二,让集合具备比较性
al1.add(new Student("Student--abc--1"));
al1.add(new Student("Student--abc--3"));
al1.add(new Student("Student--abc--2"));
}
}
class Person
{
private String name;
Person(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}
/*
<? super Student>所以<>可以填<Student>或者<Person>,
注意<? super Student>的Student是跟着TreeSet<Student>中的Student走的!
*/
//这个是让学生自身具备比较性
class Student extends Person implements Comparable<Person>
{
Student(String name)
{
super(name);
}
public int compareTo(Person s)
{
//Person s = new Student();这个是可以接受进来的,所以能比较
return this.getName().compareTo(s.getName());
}
}
/*
<? super Student>所以<>可以填<Student>或者<Person>,
注意<? super Student>的Student是跟着TreeSet<Student>中的Student走的!
*/
/*
//这是让集合具备比较性
class Comp implements Comparator<Person>
{
public int compare(Person s1,Person s2)
{
//Person s1 = new Student("abc1");所以是可以接受Student和Student的父类
return s1.getName().compareTo(s2.getName());
}
}
*/