给Java.util.List按指定顺序排序
2012-03-05 15:01
344 查看
开发中有时需要给List排序,大家都知道List本身是排序的,但它内部排序是按照存入顺序排序的,故而有时候这并不是我们所需要的。
为此,我们需要按照我们的意愿把List里面的object排序。
例子:
实现List里面Object类的配需
Object里面有一个时间字段HH:mm
需要让Object实现Comparable接口,并实现其方法;
让类实现Comparable类并实现其方法后便可以使用Collections的排序方法按照我们指定的序列排序了。
为此,我们需要按照我们的意愿把List里面的object排序。
例子:
实现List里面Object类的配需
Object里面有一个时间字段HH:mm
需要让Object实现Comparable接口,并实现其方法;
packagecom.ringtop.global.entity.livemanage; importjava.text.ParseException; importjava.text.SimpleDateFormat; publicclassPageLiveInfoimplementsComparable{ privateStringliveTime; publicPageLiveInfo(StringliveTime){ super(); this.liveTime=liveTime; } @Override publicStringtoString(){ return"PageLiveInfo[liveTime="+liveTime+"]"; } publicStringgetLiveTime(){ returnliveTime; } publicvoidsetLiveTime(StringliveTime){ this.liveTime=liveTime; } @Override publicintcompareTo(Objectpf){ PageLiveInfoplf=(PageLiveInfo)pf; Stringt1=plf.getLiveTime(); Stringt2=this.getLiveTime(); t1="2012-01-01"+t1; t2="2012-01-01"+t2; SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm"); intl1=0; intl2=0; try{ l1=(int)sdf.parse(t1).getTime(); l2=(int)sdf.parse(t2).getTime(); }catch(ParseExceptione){ e.printStackTrace(); } returnl2>l1?1:-1;//按照时间的由小到大排列 } }
让类实现Comparable类并实现其方法后便可以使用Collections的排序方法按照我们指定的序列排序了。
List<Object>list=newArrayList<Object>();
list.add(object1);
list.add(object2);
Collections.sort(list);
//最后打印出来的object就是按照给定的顺序排好序的序列
相关文章推荐
- java list按照元素对象的指定多个字段属性进行排序
- Java.util中List 数列和排序
- Java中List根据指定字段排序工具类
- java list按照 对象 指定多个字段属性进行排序
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- java.util.List排序
- Java 中List数据,自定义对象按指定的属性进行排序
- java中List按照指定字段排序工具类
- java list按照元素对象的指定多个字段属性进行排序
- Java.util中List 数列和排序
- java list按照元素对象的指定多个字段属性进行排序
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- java中的list按照指定字段排序
- java list对元素进行指定多个字段属性按多种排序方式进行排序
- java list按照元素对象的指定多个字段属性进行排序
- java list按照元素对象的指定多个字段属性进行排序
- Java中集合List按照集合内实体类元素的指定字段排序方法
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- Java.util.Collections.sort(List l) 排序 [implements Comparator]
- 【java】之对List中每个对象元素按时间顺序排序