- 利用Java中Collections函数的sort()方法进行排序
Collections在java.util包中 - sort() 中需要写2个参数
- 1 要排序的list数组
- 2 要排序的函数的实例 这个函数要实现Comparator,Serializable这两个接口
排序函数的需要自己编写
按自己需要的字段进行排序
如下 我自己写的一个函数
package com.hanweb.blf.front;
import java.io.Serializable;
import java.util.Comparator;
import com.hanweb.entity.vo.MailStatVO;
public class OrderGroupComparator implements Comparator,Serializable{
public OrderGroupComparator() {
super();
// TODO Auto-generated constructor stub
}
@Override
//这两个参数你不要管 就实数组中前后2个值进行比较
public int compare(Object o1, Object o2) {
// 因为类型是Object 所以要转换成自己需要比较的类型 然后进行比较
int p1 = 0;
int p2 = 0;
if ((o1 instanceof MailStatVO))
{
//这里就是转换成 数据本身的类型 MailStatVO 这个类就是需要比较的 List<T> 中的T 所谓的泛型中的类型 我的是List<MailStatVO >你自己转换成自己的类型
MailStatVO v1 = (MailStatVO)o1;
MailStatVO v2 = (MailStatVO)o2;
//然后获取自己所需比较字段 进行排序
p1 = v1.getI_order();
p2 = v2.getI_order();
}
// 比较字段大小比较 升序 还是倒序 就是好大于号 小于号来实现的 自己可以尝试下 返回值 1 是交换 0 是不交换顺序
if (p1 > p2) {
return 1;
}
return 0;
}
}
这个就是调用 进行数组排序
List<MailStatVO> al = new ArrayList();
Comparator order=new OrderGroupComparator();
Collections.sort(al, order);