当前位置:编程学习 > JAVA >>

List排序

从数据库里取出项目(T_xm)对象放在ArrayList<T_xm> t_xms里
项目(T_xm)对象包含项目名称(xmmc),项目级别(xmjb),所属项目(ssxm)
从新排序到ArrayList<T_xm> t_xms1里
顺序根据项目级别和所属项目  一级所属项目为空  二级所属项目为一级项目名称  易做图所属项目为二级项目名称

例如:

一级项目名称(aaa)  项目级别为  1   所属项目  null;
二级项目名称(bbb)  项目级别为  2   所属项目  (aaa);
易做图项目名称(ccc)  项目级别为  3   所属项目  (bbb);
一级项目名称(ddd)  项目级别为  1   所属项目  null;
一级项目名称(eee)  项目级别为  2   所属项目 (ddd);
一级项目名称(fff)  项目级别为  3   所属项目 (eee);

T_xm t_xm = new T_xm();
T_xmService t_xmService = (T_xmService) SpringUtil.getBean("T_xmService");
ArrayList<T_xm> t_xms = t_xmService.queryT_xm(t_xm);
for (int i = 0; i < t_xms.size(); i++) { 
T_xm   t_xm1 = (T_xm) t_xms.get(i);
t_xm1.getSsxm();
}

下面该怎么排序,帮帮忙谢谢 --------------------编程问答-------------------- Collections.sort(List, Comparator<? super T> )


这个方法自己去看一下 --------------------编程问答-------------------- 可以自定义对象排序 --------------------编程问答-------------------- //转换排序
CompareToMap(dlist,"total");

public List CompareToMap(List dlist,final String columns){
Collections.sort(dlist, new Comparator<Map<String,String>>(){ 
            public int compare(Map<String, String> o1, Map<String, String> o2)  
            {  
                int ret = 1;  
                try  
                {  
                 if( (Double.parseDouble(o1.get("total"))- Double.parseDouble(o2.get("total"))>0)){
                 ret = -1;
                 }
                } catch (Exception e)  
                {                     
                    throw new RuntimeException(e);  
                }  
                return  ret;  
            }  
        }); 
return dlist;
}

我这个是list里面放置map的,你修改下就可以了,希望可以帮到你 --------------------编程问答-------------------- 我的这个是根据total这个值来进行排序的
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,