package pr2; import java.util.ArrayList; import java.util.Collections; public class DailyTemperatureList implements TemperatureConstants { private ArrayList list; public DailyTemperatureList() { list = new ArrayList(); } public DailyTemperature findTemperature(int month, int day) { for (int i = 0; i < list.size(); i++) if ((list.get(i).getMonth() == month) && (list.get(i).getDay() == day)) return list.get(i); return null; } public void addActualLowAndHigh(int month, int day, int low, int high) { DailyTemperature dt = findTemperature(month,day); if (dt == null) { dt = new DailyTemperature(month,day); list.add(dt); } dt.setActualLow(low); dt.setActualHigh(high); } public void addPredictedLowAndHigh(int month, int day, int n, int low, int high) { MonthAndDay later = MonthAndDay.getLater(month, day, n); int newMonth = later.getMonth(); int newDay = later.getDay(); DailyTemperature dt = findTemperature(newMonth,newDay); if (dt == null) { dt = new DailyTemperature(newMonth,newDay); list.add(dt); } dt.setPredictedHigh(n,high); dt.setPredictedLow(n,low); } public void setPredictedLow(int month, int day, int daysLater, int low) { DailyTemperature dt = findTemperature(month,day); if (dt == null) dt = new DailyTemperature(month,day); dt.setPredictedLow(daysLater,low); } public void setFromTemperaturePrediction(TemperaturePrediction tp) { int month = tp.getMonth(); int day = tp.getDay(); addActualLowAndHigh(month,day,tp.getActualLow(),tp.getActualHigh()); for (int i=1;i