Java-Vector, ArrayList, Object[], HashMap, TreeMap의 비교 선택
1. 성능의 관점이되는 3가지
- 저장시간(insert time)
- 검색시간(seek time)
- 읽는시간(read time)
** 각 컬렉션 클래스들은 위의 3가지에 대해 장단점이 있음
2. Hash계열(Hashtable, HashMap)이 검색이 제일 빠른대신 저장시간이 오래걸림.(전화번호부, 주소록 같이 검색이 주로 되는 곳에 유리)
3. TreeMap과 같은 Sorted계열은 저장시간은 Hash계열보다 빠르고, 검색시간은 Hash계열보다 느림(균형잡힌 성능)
TreeMap은 정렬된 상태로 데이터를 저장하기 때문에, 범위검색(Range Search)기능 제공함
4. 검색없이 데이터를 저장/읽기 하는 경우 Vector와 ArrayList를 사용(ArrayList가 조금 빠름)
5. 최적화가 필요하면 Object배열을 구현(4번의 2개도 최적화는 잘되어 있음)
6. 구현하려는 기능의 동기화, 저장시간, 검색시간을 잘 고려하여 선택하여야 함
참고
- 네이버 자바초보스터디 카페
- 저장시간(insert time)
- 검색시간(seek time)
- 읽는시간(read time)
** 각 컬렉션 클래스들은 위의 3가지에 대해 장단점이 있음
2. Hash계열(Hashtable, HashMap)이 검색이 제일 빠른대신 저장시간이 오래걸림.(전화번호부, 주소록 같이 검색이 주로 되는 곳에 유리)
3. TreeMap과 같은 Sorted계열은 저장시간은 Hash계열보다 빠르고, 검색시간은 Hash계열보다 느림(균형잡힌 성능)
TreeMap은 정렬된 상태로 데이터를 저장하기 때문에, 범위검색(Range Search)기능 제공함
4. 검색없이 데이터를 저장/읽기 하는 경우 Vector와 ArrayList를 사용(ArrayList가 조금 빠름)
5. 최적화가 필요하면 Object배열을 구현(4번의 2개도 최적화는 잘되어 있음)
6. 구현하려는 기능의 동기화, 저장시간, 검색시간을 잘 고려하여 선택하여야 함
참고
- 네이버 자바초보스터디 카페
댓글
댓글 쓰기