我想实现一个名为youngWinners
的静态方法,给定Stream<Winner>
返回一个new Stream<Winner>
,其中包含年龄小于35的获胜者,按字母顺序排序。
在我的文件中,我有:索引,年份,年龄,姓名,电影。
我的问题是,我不知道如何将Stream
转换为IntStream
以将年龄与35进行比较。我也有点困惑,我是否必须使用比较器来这样做与否?
public static Stream<Winner> youngWinners(Stream<Winner> young) {
// Stream<Winner> youngWin = young;
String[] toString = young.toArray(s -> new String[s]);
Arrays.stream(toString).flatMap((<any> f) -> {
try {
return Files.lines(Paths.get(f))
.filter(age -> int (age) <= 35 )
.mapToInt(a -> a.getWinnerage())
.map(WinneropsDB::new);
} catch (Exception e) {
System.out.println("error");
return null;
}
});
return null;
}
答案 0 :(得分:0)
你根本不需要IntStream
。
简单地说:
return young.filter(w -> w.getAge() < 35)
.sorted(Comparator.comparing(Winner::getName));