List排序之根据对象属性

来源:互联网 发布:男女审美差异 知乎 编辑:程序博客网 时间:2024/05/29 09:14
package com.chili.test;


import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import com.chili.entity.Student;


/**
 * 测试类
 * @author zpf
 *
 */
public class Test {


public static void main(String[] args) 
{
/*
* List集合排序 之 根据对象的某个属性
*/
List<Student> stuList = new ArrayList<Student>();

// 初始化Student实例
Student s1 = new Student("A", 11);
Student s2 = new Student("C", 13);
Student s3 = new Student("D", 14);
Student s4 = new Student("B", 12);

stuList.add(s1);
stuList.add(s2);
stuList.add(s3);
stuList.add(s4);

//遍历排序前的结果集
System.out.println("\n" + "*************排序之前**************");
for(Student stu : stuList)
{
System.out.println(stu.getName() + ">>>" + stu.getAge());
}

/*
* 根据学生姓名 排序
* 通过构造 排序字段的比较器实现
*/
Collections.sort(stuList, new Comparator<Student>() 
{


@Override
public int compare(Student stu1, Student stu2) {

return stu1.getName().compareTo(stu2.getName());
}

});

//遍历排序后的结果集
System.out.println("\n" + "*************排序之后**************");
for(Student stu : stuList)
{
System.out.println(stu.getName() + ">>>" + stu.getAge());
}


}

}


运行结果:



*************排序之前**************
A>>>11
C>>>13
D>>>14
B>>>12


*************排序之后**************
A>>>11
B>>>12
C>>>13
D>>>14

0 0