java集合类多条件排序

来源:互联网 发布:淘宝卖衣服代理兼职 编辑:程序博客网 时间:2024/06/13 01:38

package sort;import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * 排序规则,按照年龄排序,若年龄相同,按照工资排序,若工资相同,按照身高排序 * @author Administrator * */public class TestObjectSort {public static void main(String[] args) {List<Student> students=new ArrayList<Student>();students.add(new Student("zhangsan",21,3000,180));students.add(new Student("zhangsan",27,4000,180));students.add(new Student("zhangsan",15,1000,180));students.add(new Student("zhangsan",21,5000,180));students.add(new Student("zhangsan",45,4000,180));students.add(new Student("zhangsan",21,5000,174));students.add(new Student("zhangsan",20,4000,180));students.add(new Student("zhangsan",33,4000,180));students.add(new Student("zhangsan",45,4000,180));students.add(new Student("zhangsan",76,4000,180));students.add(new Student("zhangsan",99,4000,180));students.add(new Student("zhangsan",21,5000,160));Collections.sort(students, new Comparator<Student>(){      public int compare(Student a1, Student a2) {             int x = a1.getAge() - a2.getAge();                int y = a1.getSalary() - a2.getSalary();             int z = a1.getHeight() - a2.getHeight();          if(x==0){                 if(y==0){                        return z;                  }                return y;            }            return x;        }             });for(Student s:students){System.out.println(s.getName()+"\t"+s.getAge()+"\t"+s.getSalary()+"\t"+s.getHeight());}}}class Student{Student(String name,int age,int salary,int height){this.name=name;this.age=age;this.salary=salary;this.height=height;}private String name;private int  age;private int salary;private int height;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public int getSalary() {return salary;}public void setSalary(int salary) {this.salary = salary;}public int getHeight() {return height;}public void setHeight(int height) {this.height = height;}}




zhangsan151000180zhangsan204000180zhangsan213000180zhangsan215000160zhangsan215000174zhangsan215000180zhangsan274000180zhangsan334000180zhangsan454000180zhangsan454000180zhangsan764000180zhangsan994000180




原创粉丝点击