호텔에서 '객실들'을 저장할 collection의 타입을 ArrayList<Room>
으로 사용할 지, TreeMap<Integer,Room>
으로 사용할 지 고민하였다.
TreeMap 사용하려는 이유
TreeMap을 사용할 시, 인덱스번호를 고려하지 않고, Key값을 객실번호로 지정하여 사용자가 예약할 객실번호를 입력할 때, 해당하는 Room객체를 가져올 수 있는 장점이 있다.
하지만 TreeMap은 순서가 없는 데이터의 집합이므로 기존 ArrayList로 구현한 객실 가격 최저가순, 최고가순 정렬 기능을 사용하지 못하는 문제가 있었다.
사용자가 최저가순, 최고가순 정렬기능 선택 시에만 새 ArrayList를 만들어 TreeMap의 Value(Room)요소들을 저장하고 정렬하여 출력하도록 함