OrderByDecending(LINQ) 等效于 Java 中的 OrderByDecending(LINQ)



嗨,我是一名进入Java的c#开发人员。问题很简单:

如何将以下 c# 代码写入 Java 并使其正常工作:

myCoffeeList.OrderByDescending(x => x.Name?.ToLower()?.Trim() == sender.Text.ToLower()?.Trim()));

我的sender.Text基本上是一个文本框。值类似于 Cappuccino 的文本。

上面的代码有什么作用?

好吧,我有一个咖啡集合,我希望与sender.text完全匹配的咖啡名称应该在顶部,其余的可以是从服务器返回的顺序。

我已经检查了以下内容:

  1. list.streams 使用类似 LINQ 的东西

  2. 批注类型 OrderBy 但它与数据库相关

List<Coffee> sorted = lst.stream()
                .sorted(Comparator.comparing(s -> !s.trim().equalsIgnoreCase(sender.trim())))
                .collect(Collectors.toList());

使用可比较和排序方法:

List<String> coffee = new ArrayList<>();
coffee.add("C");
coffee.add("A");
coffee.add("B");
coffee.add("D");
String top = "D";
coffee.sort((a, b) -> a.equals(top) ? -1 : 0);
coffee.forEach(System.out::println);

编辑:对于自然顺序使用:

coffee.sort((a, b) -> a.equals(top) ? -1 : a.compareTo(b));

相关内容

  • 没有找到相关文章

最新更新