2015年05月24日 Comparable 浏览(133) 收藏

Java 使用Comparable给一组对象进行排序

将一组对象按对象的某一属性,对对象进行排序的代码如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
 * @from www.everycoding.com
 * @Description: 使用Comparable,对一组学生对象,根据年龄从小到大排序
 */
class Student implements Comparable{
	private Integer age;
	private String name;
	
	public Student(Integer age,String name) {
		this.age = age;
		this.name = name;
	}

	@Override
	public int compareTo(Object o) {
		Student student = (Student)o;
		return this.getAge() - student.getAge();
	}

	public Integer getAge() {
		return age;
	}

	public void setAge(Integer age) {
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

public class ComparableSort {
	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		Listlist = new ArrayList();
		list.add(new Student(30,"student30"));
		list.add(new Student(40,"student40"));
		list.add(new Student(10,"student10"));
		list.add(new Student(20,"student20"));
		Collections.sort(list);
		for (Student s : list) {
			System.out.println(s.getName());
		}
		
	}
}

执行结果如下:

student10
student20
student30
student40



赞一下 0 人赞了本文