Ближайший ответ к вашей текущей реализации - Г. Баха;вы должны посмотреть в его ответе, чтобы найти простое решение.
Немного подумать нестандартно ...
Ваша текущая реализация имеет потенциальную обратную сторону, что ваши массивы могут быть не синхронизированы по отношению киндексы, которые в конечном итоге будут иметь температуру для неправильных городов.Вы можете попробовать пользовательский тип, который инкапсулирует оба поля и имеет список из них.Что-то вроде ...
public class CityTemperatureInfo implements Comparable<CityTemperatureInfo>
{
public string cityName;
public double temperature;
...
}
Тогда ваше приложение будет использовать данные как List<CityTemperatureInfo>
.Это гарантирует, что названия городов и температуры всегда будут в одном и том же месте в списке.И если вы сделаете класс сравнимым, вы можете реализовать метод int compareTo(CityTemperatureInfo other)
, который позволил бы вам просто сортировать вызовы в вашем списке. Обычно
хорошая идея хранить связанные данные вместе, чтобы избежать потенциальных проблем.данных становятся не синхронизированными.