Java에서 Schedule 구조를 쓰고 있습니다. 나는 열거 형 일을 키로하고 값으로 timeranges 목록을 가진 Hashtable을 가지고있다.HashTable의 키로 열거 형
TimeRanges 클래스는public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
private Hashtable<Day,TimeRanges> _applyCalendar;
...
public class TimeRanges implements List<TimeRange> {
내가 _appleCalendar에 요소를 추가 할 때 나는이 수행 :
public void addApplyDay(Day day,TimeRanges trs) {
if (! _applyCalendar.contains(day)) {
_applyCalendar.put(day, trs);
} else {
for (TimeRange t : trs) {
_applyCalendar.get(day).add(t);
}
}
}
내 문제가 포함 방법을() 아무튼이 같이 맞지. HashTable은 해시 테이블의 기존 요소를 찾을 수 없으며 항상 다음 조건을 입력하십시오.
일을 클래스로 선언하고 comareTo()를 구현해야하는 이유가 있습니까?
왜 '해시 테이블'을 사용하고 있습니까? – skaffman
Enum 키를 사용하면 (간과 된) [EnumMap] (http://docs.oracle.com/javase/6/docs/api/java/util/EnumMap.html)을 사용할 수 있습니다. 배열과 모든 연산은 일정 시간입니다. 그것은 여기에 차이를 만들 것이 아니라, 비용도 들지 않습니다. – Dmitri