先聊聊学习这个过程
学习分为主动和被动学习. 按着学校课程规定的来, 是被动学习, “学习”先入为主, 先人根据他们的经验, 给后人铺好路子, 构造了一条普适的高效的学习路线, 按部就班就能得到最好的效果. 如果学习者跟得上队伍, 那就会有所获. 主动学习是没有别人铺好的道路, 或者需要自己寻找前人铺好的路子. 这种学习过程一般是要经过: 自己的兴趣主导>自己学习>新的研究发现>和志同道合的人共同讨论 来达成.
Comparable接口用在bean上
class Student implements Comparable<Student>{
private String name;
private int age;
private float score;
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
if(this.score>o.score)//score是private的,为什么能够直接调用,这是因为在Student类内部
return -1;//由高到底排序
else if(this.score<o.score)
return 1;
else{
if(this.age>o.age)
return 1;//由底到高排序
else if(this.age<o.age)
return -1;
else
return 0;
}
}
}
Comparator用在集合外部
在设计类的时候,往往没有考虑到让类实现Comparable接口,那么我们就需要用到另外的一个比较器接口Comparator。 对于简单的比较,往往只需要实现Comparator内部类即可.
public class ComparableDemo02 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student stu[]={new Student("zhangsan",20,90.0f),
new Student("lisi",22,90.0f),
new Student("wangwu",20,99.0f),
new Student("sunliu",22,100.0f)};
java.util.Arrays.sort(stu,new StudentComparator());
for(Student s:stu)
{
System.out.println(s);
}
}
}