对list的中的bean的某属性排序的方法

我们经常会碰到多装到list的bean中的某个属性排序
下面介绍一种简单的方法使用Collections类的sort方法进行排序

先建立一个要排序的bean
要实现Comparable接口
public class JavaBean implements Comparable<JavaBean>
{
	private String name;
	private Integer value;
	
	public JavaBean(String name, Integer value) 
	{
		this.name = name;
		this.value = value;
	}

	public String getName() 
	{
		return name;
	}
	
	public void setName(String name) 
	{
		this.name = name;
	}
	
	public Integer getValue() 
	{
		return value;
	}
	
	public void setValue(Integer value) 
	{
		this.value = value;
	}

	//实现Comparable接口中的这个方法
	public int compareTo(JavaBean javaBean) 
	{
		return javaBean.getValue().compareTo(this.getValue()); 
	}
}


使用Collections类的sort方法进行排序
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class TestSort {

	public static void main(String[] args) 
	{
		List<JavaBean> javaBeanList = new ArrayList<JavaBean>(); 
		javaBeanList.add(new JavaBean("第一个",1));
		javaBeanList.add(new JavaBean("第二个",3));
		javaBeanList.add(new JavaBean("第三个",2));
		
		Collections.sort(javaBeanList);
		
		for(int i=0;i<javaBeanList.size();i++)
		{
			JavaBean temp = javaBeanList.get(i);
			System.out.println(temp.getName());
			System.out.println(temp.getValue());
		}
	}

}



打印出来的结果
第二个
3
第三个
2
第一个
1

按降序排列,好像内部是用快速排序实现的
评论
发表评论

您还没有登录,请登录后发表评论

laiseeme
搜索本博客
最近加入圈子
存档
最新评论