zoukankan      html  css  js  c++  java
  • List 中对象属性排序

    有几个方法可以实现:让 Student 实现Comparable接口,或是实例化一
    个比较器,
    现在用 Comparator 比较器实例来做一个:ComparableTest.java
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    public class ComparableTest {
    public static void main(String[] args) {
      Comparator<Student> comparator = new Comparator<Student>(){
       public int compare(Student s1, Student s2) {
        //先排年龄
        if(s1.age!=s2.age){
         return s1.age-s2.age;
        }
        else{
         //年龄相同则按姓名排序
         if(!s1.name.equals(s2.name)){
          return s1.name.compareTo(s2.name);
         }
         else{
          //姓名也相同则按学号排序
          return s1.id-s2.id;
         }
        }
       }
      };
      Student stu1 = new Student (1,"zhangsan","male",28,"cs");
      Student stu2 = new Student (2,"lisi","female",19,"cs");
      Student stu3 = new Student (3,"wangwu","male",22,"cs");
      Student stu4 = new Student (4,"zhaoliu","female",17,"cs");
      Student stu5 = new Student (5,"jiaoming","male",22,"cs");
      ArrayList<Student> List = new ArrayList<Student>();
      List.add(stu1);
      List.add(stu2);
      List.add(stu3);
      List.add(stu4);
      List.add(stu5); 
      //这里就会自动根据规则进行排序
      Collections.sort(List,comparator);
      display(List);
    }
    static void display(ArrayList<Student> lst){
      for(Student s:lst)
       System.out.println(s);
    }
    }
    class Student{
    int age;
    int id;
    String gender;
    String name;
    String cs;
    Student(int id,String name,String gender,int age,String cs){
      this.age=age;
      this.name=name;
      this.gender=gender;
      this.id=id;
      this.cs=cs;
    }
    public String toString(){
      return id+"  "+name+"  "+gender+"  "+age+"  "+cs;
    }

  • 相关阅读:
    selenium模拟浏览器进行百度搜索
    爬虫出现Forbidden by robots.txt
    Scrapy和Headless Chrome采集动态网站数据
    爬虫框架Scrapy的安装与基本使用
    Python Selenium库的使用
    拦截器HandlerInterceptorAdapter使用方法
    Python多进程并发(multiprocessing)
    Oracle自定义DES3加解密
    Springboot手动添加quartz-jobs
    python 发送邮件接口
  • 原文地址:https://www.cnblogs.com/wuxiang/p/3583270.html
Copyright © 2011-2022 走看看