项目中正好用到了,然后一想,这不就是策略设计模式。详情看代码。

我的需求是将一个list进行排序,可以是升序也可以是降序看你的需求了。

1.我先建立一个实体类,里面有我想排序的关键字段。比如是这个ApinLog实体类,

public class ApinLog {

private String id;//id

private Integer identity;//身份 0:用户1:供应商2:aipinji员工

private String phone;//手机号

private Integer operation_type;//操作类型

private String operation_type_description;//操作类型文字描述

private String route_no;//行程号

private String operation_content;//操作内容

private Date create_time;//创建时间

private String merchant_route_no;//供应商行程号

private Integer is_merchant;//是否是供应商日志 0:旅行社日志1:供应商日志 2:CRM日志

此处省略相关set、get方法等

}

2.创建一个比较器(进行排序用到的),我是用的是java自带的排序方法,实现Comparator接口,重写compare方法,泛型是我需要排序的实体类ApinLog

/**
* @author wch
* 比较器
*/
public class DescClass implements Comparator<ApinLog>{


@Override
public int compare(ApinLog o1, ApinLog o2) {

return o2.getCreate_time().getTime()-o1.getCreate_time().getTime()>0?1:-1; //三元表达式判断(因为private Date create_time;//创建时间) 这里我是进行降序的
}

}

3.DescClass desc=new ReverseClass();

Collections.sort(LogList1,desc);//LogList1是我需要进行排序的list,desc是比较器创建的对象。

到这里之后就已经排好了,我们可以输出一下

for(int i=0;i<LogList1.size();i++){
System.out.println(LogList1.get(i).getCreate_time());
}

结果是降序排列的。

这就是在我的项目中世纪用到的一个小小的排序,就是使用到了一个策略设计模式。

更多相关文章

  1. python 日志简单使用
  2. 小日志与大日志:通过Java进行日志记录
  3. Java日志框架——查看“完整的执行的SQL语句”
  4. JAVA 实现tail -f 日志文件监控功能

随机推荐

  1. Android应用程序组件Content Provider简
  2. Android(安卓)JNI/Hardware 加载(一)
  3. Android(安卓)手机无法连接mac解决办法
  4. Android中如何在命令行中查看某个文件的
  5. Android(Xamarin)之旅(三)
  6. Android(安卓)- R资源未找到至java文件报
  7. android 机顶盒开发-----GridView
  8. Android(安卓)EventBus 封装(支持多个粘性
  9. Android应用程序绑定服务(bindService)的过
  10. android外存储的状态