jdk 1.8 stream 处理集合去重的问题

用比较器的形式 是这样的:
Set sets = new TreeSet(new Comparator() {
@Override
public int compare(AccountDTO o1, AccountDTO o2) {
return (int) (o1.getMemberId() - o2.getMemberId());
}
});
请问 用steam 的方式如何处理

对象根据id去重。

// 根据id去重
List unique = persons.stream().collect(
collectingAndThen(
toCollection(() -> new TreeSet<>(comparingLong(Person::getId))), ArrayList::new)
);

            具体内容见:http://blog.csdn.net/jiaobuchong/article/details/54412094