2010-12-13 4 views
2

{timestamp}, {data1}, {data2} 형식의 CSV 파일에서 데이터를 가져옵니다.Java에서 달력과 같은 데이터베이스를 모델링하는 좋은 방법은 무엇입니까?

내가 찾고 내가 쉽게 다음 작업을 수행 할 수 있도록, 데이터 구조에 데이터를 저장하는 온건, 합리적인 방법입니다 : 올바른 데이터를 주어진 Date 객체의 경우

  1. 발견 그 날짜와 관련된
  2. 날짜와 직접 일치하는 항목이 없으면 이전 항목과 다음 항목을 찾습니다.

첫 번째 요구 사항은 Hashtable에서 쉽게 충족됩니다. 두 번째 사람은 일 것입니다. Hashtable이 고유 한 순서를 가지고있는 경우, 이전 항목에 대해 주어진 날짜 아래에 여전히 가장 큰 항목을 찾을 수 있고 다음 항목에 대해 다음 항목을 찾을 수 있습니다.

이 경우가 아니기 때문에 여기서 사용할 좋은 데이터 구조는 무엇입니까?

답변

2

SortedMap을 사용하십시오.

정확하게 일치하는 데이터를 검색하려면 Map.get()을 사용하십시오. 사용할 수있는 데이터가 없으면 SortedMap.tailMap (date) 및 SortedMap.headMap (date)을 사용하여 지정된 날짜보다 크고 작은 요소를 검색합니다.

+0

굉장합니다. 고마워. – winsmith

+0

다른 독자는 SortedMap이 추상이라는 점에 유의해야합니다. 그것을 인스턴스화하려면'SortedMap 과 같이 TreeMap을 사용하십시오. map = new treeMap (); – winsmith

관련 문제