对list的中的bean的某属性排序的方法
我们经常会碰到多装到list的bean中的某个属性排序
下面介绍一种简单的方法使用Collections类的sort方法进行排序
先建立一个要排序的bean
要实现Comparable接口
[code]
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());
}
}[/code]
使用Collections类的sort方法进行排序
[code]
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());
}
}
}[/code]
打印出来的结果
第二个
3
第三个
2
第一个
1
按降序排列,好像内部是用快速排序实现的
我们经常会碰到多装到list的bean中的某个属性排序
下面介绍一种简单的方法使用Collections类的sort方法进行排序
先建立一个要排序的bean
要实现Comparable接口
[code]
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());
}
}[/code]
使用Collections类的sort方法进行排序
[code]
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());
}
}
}[/code]
打印出来的结果
第二个
3
第三个
2
第一个
1
按降序排列,好像内部是用快速排序实现的