1 回答

TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超7個贊
使用 中的流并沒有真正獲得任何好處savefromfile,因?yàn)槟褂盟拖袷褂闷胀ǖ?for 循環(huán)一樣。為了使代碼更簡潔一些,您可以完全擺脫局部變量,并且close()不需要調(diào)用 ,因?yàn)槟呀?jīng)在使用 try-with-resources 了。
private List<String[]> savefromfile(String filePath) throws IOException {
try (Stream<String> lines = Files.lines(Paths.get(filePath))) {
return lines
.map(line -> line.trim().split("\\s+"))
.collect(Collectors.toCollection(LinkedList::new));
}
}
我不知道你為什么要將對 double[][] 的解析分離到一個單獨(dú)的方法中,因?yàn)槟憧梢栽谀愕牧髦惺褂糜成鋪硗瓿伤?/p>
private double[][] loadFromFile(String filePath) throws IOException {
try (Stream<String> lines = Files.lines(Paths.get(filePath))) {
return lines
.map(line -> line.trim().split("\\s+"))
.map(line -> new double[] {
Double.parseDouble(line[1]),
Double.parseDouble(line[2])
})
.toArray(double[][]::new);
}
}
對于性能,您只需要自己衡量使用較低級別的數(shù)據(jù)類型和循環(huán)是否值得增加復(fù)雜性。
添加回答
舉報(bào)