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;
}
}
打印结果
zhangsan 15 1000 180
zhangsan 20 4000 180
zhangsan 21 3000 180
zhangsan 21 5000 160
zhangsan 21 5000 174
zhangsan 21 5000 180
zhangsan 27 4000 180
zhangsan 33 4000 180
zhangsan 45 4000 180
zhangsan 45 4000 180
zhangsan 76 4000 180
zhangsan 99 4000 180
分享到:
相关推荐
Java 集合排序 及java集合类 详解.pdf
Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...
Java集合排序及java集合类详解,对list,set,map等java集合进行详细讲解
java 集合分组排序帮助类有好的意见可以互相交流不甚感激
Java集合排序及java集合类详解(Collection、List、Map、Set).doc
Java集合排序及java集合类详解
java 集合排序及java集合类详解,本文详细解释了关于java中的集合实现,以及他们的实现原理
集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...
最新Java集合排序以及java集合类详解.pdf
Java集合排序及java集合类详解参照.pdf
Java集合排序及java集合类详解(Collection、List、Map、Set)