当前位置:   article > 正文

ArrayList集合数据排序问题_arraylist集合 的bean 调整上下顺序

arraylist集合 的bean 调整上下顺序

核心方法就是使用Collections的sort方法

Collections.sort(comparator ,  mList);
  • 1

让 Student 实现Comparable接口,或是实例化一个比较器,现在用 Comparator 比较器实例来做一个。

mport 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 s2.age-s1.age;
      }
      else{
       //年龄相同则按姓名排序
       if(!s1.name.equals(s2.name)){
        return s2.name.compareTo(s1.name);
       }
       else{
        //姓名也相同则按学号排序
        return s2.id-s1.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;
   }
  }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号