Я пытаюсь построить карту со временем, начиная с 06.00 до 23:59, в качестве ключей, и я буду отслеживать число каждый раз в качестве значения. Мне нужно время, чтобы сохранить HH.mm в качестве формата, и я планирую построить карту, используя цикл с шагом в одну минуту, и запустить следующий код внутри цикла. Проблема в том, что, поскольку мне нужно строго установить формат как HH.MM, я должен получить входные данные в виде строки и отформатировать их, а затем проанализировать он обратно удваивается, что влияет на производительность. Есть глобальная настройка, чтобы изменить так, чтобы любой двойной номер, который я выбрал в этом конкретном классе, имел формат ##. ##. Также отметим здесь, что это время, когда оно заканчивается на 60 минут и, следовательно, я должен прервать текущую итерацию с помощью .6.
Map map = new LinkedHashMap();
//Edit:Moved DecimalFormat Outside the loop
DecimalFormat df = new DecimalFormat("##.##");
for (double time= 06.00; time<= 22.00; time= time+ 01.00)
{
String timeString = df.format(appointmentTime);
time = Double.parseDouble(timeString);
if (timeString.indexOf(".6") != -1)
{
time= time+ 00.40;
}
map.put(time,"<number>");
}