下面附加的屏幕截图是数据集的输出。这是我的作业,我被要求按照函数式编程风格进行所有编码。我尝试使用 Java Stream 和 map 来解析日期,但我不知道按月和周对它们进行分组,然后对数据求和。
下面是我的代码:
这是读取文件并将数据存储到arraylist的函数
public ArrayList<List<String>> csvParser(String CSVFileName) throws IOException {
CSVParser csvParser = CSVParser.parse(Paths.get(CSVFileName), Charset.defaultCharset(), CSVFormat.DEFAULT);
return csvParser
.stream()
.map(i->i.toList())
.collect(Collectors.toCollection(ArrayList::new));
}
这是检索数据集的列并解析日期的函数
public List<String> parseRetrievedDateList(List<String> dateToBeParsedList){
return dateToBeParsedList.stream()
.map(l-> {
return LocalDate.parse(l,DateTimeFormatter.ofPattern("M/d/yy")).format(DateTimeFormatter.ofPattern("yyyy/M/d"));
})
.collect(Collectors.toList());
}