JAVA:如何根据字段对列表进行排序

SFAH

我有以下列表,我想根据日期对整个列表进行排序,我该怎么做?

List<DevicePing> devicePing=Arrays.asList(
                new DevicePing(1L,2017-11-21 10:10:10.0),
                new DevicePing(2L,2017-11-21 10:00:00.0),
                new DevicePing(3L,2017-11-21 10:15:10.0),
                new DevicePing(4L,2017-11-21 09:30:10.0),
                new DevicePing(5L,2017-11-21 09:45:10.0),
                new DevicePing(6L,2017-11-21 09:50:10.0),
                new DevicePing(7L,2017-11-21 09:55:10.0);

当我使用以下代码时,它在 o1.getDateTime() 给了我一个 nullPointerException

Collections.sort(myList, new Comparator<MyObject>() {
  public int compare(MyObject o1, MyObject o2) {
      return o1.getDateTime().compareTo(o2.getDateTime());
  }
});

已编辑

现在我正在使用以下代码,但它打印了与排序数据相同的数据

public void calculateTimesheet(RiderLocation riderLocation,List<DevicePing> devicePing,List<RiderAvailability> riderAvailability)
    {
        devicePing.sort(Comparator.comparing(DevicePing::getDate));
        for(DevicePing dp:devicePing)
        {
            System.out.println("dp: " + dp);
        }
    }

DevicePing.java

@Entity
public class DevicePing {

    public DevicePing(Long id ,Date createdAt) {
        this.id = id;
        this.createdAt = createdAt;
    }

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne
    private User rider;

    @Column( nullable = false,columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
    @Temporal(TemporalType.TIMESTAMP)
    private Date date;

    //getter nad setter
    }
同步数据

尝试使用以下方法对其进行排序:

devicePing.sort(Comparator.comparing(DevicePing::getDateTime));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何根据重复字段对对象列表进行排序?

如何根据Scala中的对象字段对列表对象进行排序?

根据公共字段对多个列表进行排序

根据内部列表中的字段对Java中的两个嵌套列表进行排序和分组

根据嵌套列表Java中的日期字段对主列表进行排序

根据列表中每个成员的字段对列表进行排序

如何根据 Java Spark 2.1.1 中的字段名称对 structType 进行排序/排序

如何根据时间对字典列表进行排序

如何根据ID对列表视图进行排序

如何根据姓氏对链接列表进行排序?

如何根据列值对列表进行排序

如何根据条件对列表进行排序?

如何根据字典值对列表进行排序?

如何根据对象的属性对列表进行排序?

如何根据任意顺序对列表进行排序

如何根据列表值对元组进行排序?

如何根据给定的一个字段序列对列表进行排序?

根据对象字段的分组对列表进行排序,根据组中的最大值进行排序

根据特定字段对字符串列表进行排序

如何根据子列表的长度对列表列表进行排序

如何根据内部列表的长度对列表列表进行排序?

Java <Streams>如何根据列表中组件的数量对对象列表进行排序

如何根据java中的Enum字段对一组对象进行排序

如何根据特定的列表视图项对列表视图进行排序

如何根据列表的子对象属性对列表进行排序?

如何根据用户从下拉菜单中选择的参数对Java对象列表进行排序?

如何在Spark Java中根据其值对列表进行排序?

如何根据子字段的值对对象数组进行排序?

如何根据POJO的特定字段值对集合进行排序?