java对对象多个属性进行排序,类对象怎么排序

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: