bigList = Arrays.stream(files)
.flatMap(file -> {
try {
return Files.lines(Paths.get(path + SEPARATOR + file));
} catch (IOException e) {
LOGGER.log(Level.WARNING, "No se puede encontrar el archivo " + file);
}
return null;
})
.filter(str -> str.startsWith("ABC"))
.distinct()
.map(Mapper::mapToObj)
.collect(Collectors.toList());
這被返回時我使用一個傳統的for循環(而不是Arrays.stream(..)不同的輸出flatMap (..))
for(String file : files) {
bigList.addAll(Files.lines(Paths.get(path + SEPARATOR + file))
.filter(str -> str.startsWith("ABC"))
.distinct()
.map(Mapper::mapToObj)
.collect(Collectors.toList()));
}
爲什麼會發生這種情況?
在此先感謝
乾杯
樣本輸入和輸出? –
@BoristheSpider你說得對,我修好了。 – delpo
它返回不同的輸出,還是以不同的順序輸出相同的輸出? –