Я хочу, чтобы заполнить ArrayList (Appointment_List) с HashMap «с (Ежедневниками), но каждый раз, когда мне нужно, чтобы изменить значение указанных элементов (Appt_Start_Time и конец времени).Заливка ArrayList с HashMaps
Вот код:
for (int i = 1; i < Appt_Length; i++) {
Start_Time = End_Time;
Start_Minute = Curr_Start_Minute;
Start_Minute += My_Calendar.Get_Time_Interval();
if (Start_Minute >= 60) {
Tmp_Start_Hour += 1;
Curr_Start_Minute = 0;
} else {
Curr_Start_Minute = Start_Minute;
}
End_Time = Time.Get_Index_Time(Tmp_Start_Hour, Curr_Start_Minute);
Appointment.remove("Appt_Start_Time");
Appointment.put("Appt_Start_Time", Start_Time);
Appointment.remove("endtime");
Appointment.put("endtime", End_Time);
Appointment_List.add(Appointment);
}
Но после того, как я выполняю этот код, который я получил назначение в Appointment_List, но все они имеют Appointment.get("Appt_Start_Time")
и Appointment.get("endtime")
равен последние значения петля приходит с.
Почему Appt_Start_Time и сброшена EndTime каждый раз, когда я добавить новый элемент?
Ваш PHP/C конвенции стиль именования не очень помогает интерпретировать фрагмент кода легко. При написании Java попробуйте придерживаться [Соглашения об именах Java] (http://www.oracle.com/technetwork/java/codeconventions-135099.html#367). – BalusC
Это не отвечает на ваш вопрос, но я думаю, что у вас может быть ошибка «один за другим» в вашем цикле. Вы уверены, что не хотите начинать с i = 0? –