У меня есть список объектов со значениями погоды List<Weather> weatherList = new ArrayList();
, в списке у меня есть два объекта:
{
"latitude": 13.699444,
"longitude": 12.676667,
"timezone": "",
"daily": {
"data": [
{
"time": 1586037600,
"sunriseTime": 1586059620,
"sunsetTime": 1586107860,
"moonPhase": 0.41,
"temperatureHigh": 8.36,
"temperatureHighError": 3.58,
"temperatureLow": 3.72,
}
]
},
"offset": 2
}
и
{
"latitude": 11.699444,
"longitude": 10.676667,
"timezone": "",
"daily": {
"data": [
{
"time": 1586037600,
"sunriseTime": 1586059620,
"sunsetTime": 1586107860,
"moonPhase": 0.41,
"temperatureHigh": 12.36,
"temperatureHighError": 6.58,
"temperatureLow": 3.72,
}
]
},
"offset": 2
}
Конечно, я есть все добытчики и сеттеры. Мне нужно подобрать этот объект, который имеет большее значение (TemperatureHigh / TemperatureLow) / 2. Я пытался
Double resultNumber;
for(Weather weather: weatherList){
resultNumber = ((weather.getDaily().getData().get(0).getTemperatureLow()/weather.getDaily().getData().get(0).getTemperatureHigh())/2);
//and here I got result for only one object
}
Как мне это сделать? Должен ли я добавить, скажем, Map<resultNumber,WeatherObject>
? и получить мою ценность? Или есть возможность использовать здесь потоки и лямбды?