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

java小问题

集合类的排序怎么搞啊 --------------------编程问答-------------------- java 集合类的排序主要是用Collections.sort方法 --------------------编程问答-------------------- 两种比较:
1.类里面实现比较:实现Comparable接口及实现public int compareTo(Object arg0)方法
2.加入了比较器,比较器必须实现Comparator接口 --------------------编程问答-------------------- 简单的可以使用java提供的工具类arrays.sort方法排序 ,复杂的自己实现comparable接口 --------------------编程问答--------------------

public class OrderCopmparator implements Comparator{  
  
    @Override  
    public int compare(Object o1, Object o2) {  
        OrderPerDay op1 = (OrderPerDay) o1;  
        OrderPerDay op2 = (OrderPerDay) o2;  
           if(op1.getDay() == op2.getDay()){    
                return 0;    
            }       
            else if(op1.getDay().before(op2.getDay()) ){    
                return -1;    
            }    
            else{    
                return 1;    
            }   
    }  
      
}  

Collections.sort(xxxList,new OrderCpmparator());//得到的就是排好序的集合  

2.beanutils工具包

[java] view plaincopyprint?
Collections.sort(xxxList,new BeanComparator("day"));//得到排好序的集合(按字段day)。很明显这个少很多代码 


http://blog.csdn.net/wufengui1315/article/details/9039265 --------------------编程问答-------------------- 你可以考虑第二种方法,代码量的差别应该看出来了 --------------------编程问答-------------------- Collections.sort 方法可自动排序
楼上介绍的真详细 --------------------编程问答-------------------- sort是自然排序 如果你集合中的是对象,你要自己写比较方法 根据对象的哪个属性进行排序 --------------------编程问答-------------------- 如果是自定义类集合,可以考虑实现Compareble接口完成,若是一般基本数据类型Integer,Float等,可以使用Arrays.sort()方法 --------------------编程问答-------------------- 实现Comparator接口
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,