【发布时间】:2014-04-08 15:10:27
【问题描述】:
我正在尝试在Java 中实现以下C# 代码:
List<org.joda.time.DateTime> times;
...
foreach (var time in times.OrderBy(d = > d).Distinct())
...
我正在使用Collections.sort() 对times 进行排序,但是实现Distinct() 方法的最佳方式是什么?
【问题讨论】:
我正在尝试在Java 中实现以下C# 代码:
List<org.joda.time.DateTime> times;
...
foreach (var time in times.OrderBy(d = > d).Distinct())
...
我正在使用Collections.sort() 对times 进行排序,但是实现Distinct() 方法的最佳方式是什么?
【问题讨论】:
使用新的 Java 8 语法,代码可能如下所示:
times.stream()
.sorted((d1, d2) -> d1.compareTo(d2)) // or just sorted() for default algorithm
.distinct()
.forEach(d -> System.out.println(d));
【讨论】: