针对ArrayList中的某个属性进行排序
1.创建要比较的对象
public class ExampleObj{ private Long prop; private String name;
public ExampleObj(Long prop,String name){ this.prop= prop; this.name= name; } public Long getProp() { return prop; } public void setProp(Long prop) { this.prop= prop; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
2.实现java.util.Comparator<T>接口
import java.io.Serializable;import java.util.Comparator;
public class ComparatorExampleObj implements Comparator<ExampleObj>,Serializable { public int compare(ExampleObj o1, ExampleObj o2) { ExampleObj p1 = (ExampleObj) o1; ExampleObj p2 = (ExampleObj) o2; //按升序排列 if (p1.getProp() > p2.getProp()) return 1; else return 0; }}
3.排序
ArrayList list = new ArrayList(); list.add(new ExampleObj (1,"name1")); list.add(new ExampleObj (3,"name3")); list.add(new ExampleObj (2,"name2"));
ComparatorExampleObj comp = new ComparatorExampleObj (); Collections.sort(list,comp);
//此时list为以按prop属性进行过升序排序的集合类
相关资源:敏捷开发V1.0.pptx
