List数组排序

来源:互联网 发布:1980西安坐标系数据 编辑:程序博客网 时间:2024/06/05 07:07
  • 利用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);
0 0
原创粉丝点击