Java中的C#独特扩展方法

本文关键字:扩展 方法 中的 Java | 更新日期: 2023-09-27 17:57:36

我正在尝试在Java中实现以下C#代码:

List<org.joda.time.DateTime> times;
...
foreach (var time in times.OrderBy(d = > d).Distinct())
...

我使用Collections.sort()times进行排序,但实现Distinct()方法的最佳方式是什么?

Java中的C#独特扩展方法

使用新的Java 8语法,代码可能看起来像这样:

times.stream()
    .sorted((d1, d2) -> d1.compareTo(d2)) // or just sorted() for default algorithm
    .distinct()
    .forEach(d -> System.out.println(d));