【问题标题】:How do I sort a Stream in reversed order with Speedment [duplicate]如何使用 Speedment 以相反的顺序对流进行排序 [重复]
【发布时间】:2017-10-04 06:03:34
【问题描述】:

我有一个要过滤的数据库表,然后按反向(降序)顺序排序。我如何在与此类似的 Speedment 流中表达这一点:

films.stream()
    .filter(Film.LENGTH.greaterThan(120))
    .sorted(... some expression ...)
    .skip(100)
    .limit(50)
    .collect(Collectors.toList());

我希望我的 SQL 查询由 Speedment 优化,因此我不能使用匿名 lambda。

【问题讨论】:

  • 与一般匿名 lambda Comparator::reversed 相比,使用内置比较器很重要,否则 Speedment 将无法在后台呈现完全优化的 SQL 查询。
  • 如果你在我标记后更改问题,你不能抱怨标记......

标签: java java-8 speedment


【解决方案1】:

为您要使用的字段使用内置比较器并应用Comparator::reversed 操作,如下所示:

films.stream()
    .filter(Film.LENGTH.greaterThan(120))
    .sorted(Film.LENGTH.comparator().reversed())  // <--- Here
    .skip(100)
    .limit(50)
    .collect(Collectors.toList());

【讨论】:

    猜你喜欢
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-09
    • 2021-03-09
    相关资源
    最近更新 更多