今天组长分配这样一个任务给我:编写一个设备列表接口,列表里有在线设备和离线设备,其中当endTime为空时,就是离线设备。当endTime不为空就是在线设备,返回的列表是:最新离线设备在前面然后才是最新在线设备。其实意思就是当endTime==null,以startTime降序。当endTime!=null,以endTime降序。这里我使用Comparator进行列表分组排序。
java.util.Comparator是比较器接口,里面实现int compare(T o1, T o2)函数,比较o1和o2的大小,返回值是-1、0、1对应01小于、等于、大于02。
下面是Comparator排序和分组的实例。
![]() | ![]() |
![]() | ![]() |
第二个tradeDate返回的是时间搓,用时间搓比较的,时间搓数值越大,时间越大。这里用到了jdk1.8的流式操作。后面会讲到流式操作。