在许多时候我们要对一个集合中的对象进行排序,很多人会想到数据库中,使用SQL语句简单进行实现,在java程序中应该如何实现呢?
Collections下有对集合进行排序的方法 sort
具体实现:
首先先定义我们的对象排序规则
/**
* 比较两个对象的大小,实现Comparator接口
*/
private class compareList implements Comparator{
public int compare(Object o1, Object o2) {
Catagory c1 = (Catagory)o1;
Catagory c2 = (Catagory)o2;
String catagoryName1 = c1.getName(); //对象需要排序的字段
String catagoryName2 = c2.getName(); //对象需要排序的字段
//通过比较两个字符串对象来排序。此处可以根据自己的需要写两个对象的具体比较内容
return catagoryName1.compareTo(catagoryName2);
}
}
此时,已经完成了规则的定义,我们只需要应用这个自定义的规则即可
public List<Object> CustomSort(List<Object> allBrandList){
//对集合进行排序
Collections.sort(allBrandList, new compareList() );//使用自定义规则的排序方式排序
retrun list;
}
好了,打完收工,调用了CustomSort方法,就完成了对LIst集合中的所有对象安装自定义的字段进行了排序