aris-paskalov, в крайнем случае всегда можно сгенерить новый уникальный id.
В случае прогноза погоды можно использовать дату-время-город (вроде ключи можно делать строковыми)
Помимо уникальности нужно ещё чтобы ключ был жёстко связан с конкретным элементом. В случае с индексом массива это не так, при динамической сортировке связь поменяется. Другое дело, что сортировки обычно нет и работает и так.