2015-10-09 3 views
-2

У меня есть массив объектов (I.E. 36 часов данных о погоде). Некоторые из этих объектов имеют общую ценность (I.E. Days of the week). Мне нужно объединить эти объекты, чтобы все почасовые метеорологические данные за каждый день находились в одном объекте. Как я могу это сделать?Объединение Массив объектов

+2

Создайте структуру данных, чтобы разместить данные? – JoxTraex

ответ

0

Вы можете создать класс для вашей погоды, позволяет сказать HourOfWeather, которые содержат час информаций дня:

class HourOfWeather{ 
    public String temperature; 
    public String time; 
    public String dayOfTheWeek; 
    .... 
} 

Затем загрузить всю информацию в HashMap: HashMap<String, ArrayList<HourOfWeather>>.

  • Ключ HashMap (String) будет представлять ваш День.
  • Значение HashMap (ArrayList<HourOfWeather>) будет представлять ваш список погодных часов для этого дня.
+0

Я попытался добавить элементы в хэш-карту в цикле for, но поскольку значения имеют одинаковые имена, они просто заменяют друг друга. моя конечная цель определена в [this] (http://stackoverflow.com/questions/33020858/i-cant-break-this-array-down) вопросе, на который не был дан ответ. Я не могу понять, чего мне не хватает. –

+0

Не добавляйте непосредственно элементы ithe HashMap. Допустим, у вас есть данные в течение 3 дней, ** 1) ** Создать 3 * ArrayList * - ** 2) ** Прокрутите свои данные, сравните поле «mDay» и добавьте каждый * hourOfWether *, в его соответствующий ArraysList ... теперь у вас есть 3 ArrayLists, которые представляют ваши дни - ** 3) ** Добавьте их в свой HashMap, используя «mDay» (или любое другое уникальное значение) в качестве ключа. – Rami

Смежные вопросы