Поскольку вы сохранили значения в поле stati c с именем weatherData, вы можете просто получить к ним доступ, непосредственно обращаясь к полю weatherData.
Вы создаете новый объект WeatherDataHandler. Однако вы не сохраняете значения, переданные конструктору в этом объекте. Возможно, вам будет проще, если вы создадите отдельный класс для хранения сведений о погоде.
Например, класс для хранения одной строки из файла:
public class Weather {
private LocalDate dateTime;
private LocalTime time;
private double temperature;
private String tag;
public Weather(LocalDate dateTime, LocalTime time, double temperature, String tag) {
this.dateTime = dateTime;
this.time = time;
this.temperature = temperature;
this.tag = tag;
}
public LocalDate getDateTime() {
return dateTime;
}
public void setDateTime(LocalDate dateTime) {
this.dateTime = dateTime;
}
public LocalTime getTime() {
return time;
}
public void setTime(LocalTime time) {
this.time = time;
}
public double getTemperature() {
return temperature;
}
public void setTemperature(double temperature) {
this.temperature = temperature;
}
public String getTag() {
return tag;
}
public void setTag(String tag) {
this.tag = tag;
}
}
И изменения в WeatherDataHandler для использования Погодный класс:
public class WeatherDataHandler {
// You probably don't need this to be static
private List<Weather> weatherData = new ArrayList<>();
public void loadData(String filePath) throws IOException {
//Read all data
List<String> fileData = Files.readAllLines(Paths.get(filePath));
System.out.println(fileData);
for(String str : fileData) {
List<String> parsed = parseData(str);
LocalDate dateTime = LocalDate.parse(parsed.get(0));
LocalTime Time = LocalTime.parse(parsed.get(1));
double temperature = Double.parseDouble(parsed.get(2));
String tag = parsed.get(3);
Weather weather = new Weather(dateTime, Time, temperature, tag);
weatherData.add(weather);
System.out.println(dateTime);}
}
// You probably don't need this to be static
private List<String> parseData(String s) {
return Arrays.asList(s.split(";"));
}
public List<String> missingValues(LocalDate dateFrom, LocalDate dateTo) {
// access the weatherData directly
List<String> values = new ArrayList<>();
for (Weather weather : weatherData) {
values.add(weather.getDateTime().toString());
}
return values;
}
}