网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Java如何实现对象按照其属性排序

这篇文章主要讲解了Java如何实现对象按照其属性排序,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

创新互联专注于企业成都全网营销、网站重做改版、扶余网站定制设计、自适应品牌网站建设、成都h5网站建设成都做商城网站、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为扶余等各大城市提供网站开发制作服务。

有时候需要对对象列表或数组进行排序,下面提供两种简单方式:

方法一:将要排序的对象类实现Comparable<>接口。

首先,创建学生类,我们将根据学生成绩对学生进行排序:

/**
*  学生类
*/
class Student implements Comparable{

  String name;
  int age;
  int score;

  public Student(String name, int age,int score) {
    this.name = name;
    this.age = age;
    this.score = score;
  }

  @Override
  public int compareTo(Studento) {
    // TODO Auto-generated method stub
    return this.age - o.age;
  }
}
public class Test {

  public static void main(String[] args) {
    // TODO Auto-generated method stub
    ArrayList students = new ArrayList<>();
    students.add(new Student("大铭", 19, 89));
    students.add(new Student("来福", 26, 90));
    students.add(new Student("仓颉", 23, 70));
    students.add(new Student("王磊", 18, 80));

    System.out.println("排序前:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 成绩:"+student.score);
    }

    // 排序
    Collections.sort(students);

    System.out.println("排序后:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 成绩:"+student.score);
    }
  }
}

同理,也可以根据对象的其他属性进行排序。

方法二:使用Comparator匿名内部类实现。

还是使用同一个例子,按成绩将学生排序:

/**
*  学生类
*/
class Student {

  String name;
  int age;
  int score;

  public Student(String name, int age,int score) {
    this.name = name;
    this.age = age;
    this.score = score;
  }
}
public class Test {

  public static void main(String[] args) {
    // TODO Auto-generated method stub
    ArrayList students = new ArrayList<>();
    students.add(new Student("大铭", 19, 89));
    students.add(new Student("来福", 26, 90));
    students.add(new Student("仓颉", 23, 70));
    students.add(new Student("王磊", 18, 80));

    System.out.println("排序前:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 成绩:"+student.score);
    }

    Collections.sort(students,new Comparator() {

      @Override
      public int compare(Student o1, Student o2) {
        // TODO Auto-generated method stub
        return o1.age-o2.age;
      }
    });

    System.out.println("排序后:");
    for (Student student : students) {
      System.out.println("姓名:"+student.name+" 年龄:"+student.age+" 成绩:"+student.score);
    }
  }
}

也可以实现按对象属性将对象列表排序。

看完上述内容,是不是对Java如何实现对象按照其属性排序有进一步的了解,如果还想学习更多内容,欢迎关注创新互联行业资讯频道。


分享标题:Java如何实现对象按照其属性排序
转载来于:http://bjjierui.cn/article/pocjjj.html

其他资讯