java对对象多个属性进行排序,类对象怎么排序
我们需要对类按照类中的某一个属性(或者多个属性)来对类的对象进行排序,有两种方法可以实现,一种方法是类实现可比的接口,然后调用集合.排序(列表)方法进行排序,另一种方法是类不实现可比的接口,而在排序时使用集合.排序(列表,比较)方法,并实现其中的比较法接口。
免费学习视频教程推荐:java视频教程
先创建一个简单的学生类:
公共课学生{
私有字符串名称;
私人年龄;
公共学生(){}
公共学生(字符串名称,整数){
this.name=name
this.age=年龄;
}
公共字符串getName() {
返回名称;
}
公共void集合名称(字符串名){
this.name=name
}
public int getAge() {
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
}1、通过类实现可比的接口进行排序
公共课学生实行对等学习{
私有字符串名称;
私人年龄;
公共学生(){}
公共学生(字符串名称,整数){
this.name=name
this.age=年龄;
}
公共字符串getName() {
返回名称;
}
公共void集合名称(字符串名){
this.name=name
}
public int getAge() {
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
/**
* 将对象按姓名字典序升序排序
* @param o
* @返回
*/
@覆盖
公共国际比较(学生o) {
返回这个。姓名。比较到(o . getname());
}
@覆盖
公共字符串toString() {
返回"学生"
name= name \
,年龄=年龄
};
}
}2、通过在Collections.sort()方法中实现可比的接口来实现排序
公共类客户端{
公共静态void main(String[] args){
list students=new ArrayList();
学生. add(新学生(‘甲’,18));
学生. add(新学生(‘c’,19));
学生. add(新学生( b ,20));
Collections.sort(students,new ComparatorStudent() {
@覆盖
公共(同Internationalorganizations)国际组织比较(学生o1,学生o2) {
返回o1.getAge()o2.getAge()?-1:(o1.getAge()==o2.getAge()?0:1);
}
});
对于(学生学生:学生){
系统。出去。println(学生。tostring());
}
}
}相关文章教程推荐:java编程入门以上就是爪哇岛中实现对类的对象进行排序的详细内容,更多请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。