收集器在java中收集对的列表

时间:2015-06-26 08:00:21

标签: java java-8 java-stream collectors

我得到了一个我希望按左侧字段排序的对列表,我成功完成并获得25个第一个元素但现在问题是我想将正确的元素收集到列表中(甚至他们两个)但我不知道怎么做The request sent by the client was syntactically incorrect.

有问题
toList()

1 个答案:

答案 0 :(得分:4)

如果您想收集正确的元素,请使用map

return listOfTokens.stream()
.sorted((o1, o2) -> Double.compare(o1.getLeft().getCompare(terms.field.docCount), o2.getLeft().getTfIdf(terms.fielddocCount)))
        .limit(25)
        .map(o -> o.getRight())
.collect(toList());

如果你想收集左右两边:

return listOfTokens.stream()
.sorted((o1, o2) -> Double.compare(o1.getLeft().getCompare(terms.field.docCount), o2.getLeft().getTfIdf(terms.fielddocCount)))
        .limit(25)
        .flatMap(o -> Stream.of(o.getLeft(),o.getRight()))
.collect(toList());