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