Java
[JAVA] Collection Framework
MOVE🔥
2020. 3. 16. 19:52
728x90
반응형
Collection Framework란
공통적으로 재사용 가능한 수집 데이터 구조를 구현한 클래스 및 인터페이스의 집합
쉽게 말해서 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합 이라고 볼 수있다.
핵심 인터페이스에는 List, Set, Map이 있다.
그렇다면 사용할 collection 인터페이스를 정할 때는 무엇을 고려하는게 좋을까
- 중복을 허용하는가?
- 순서가 존재 하는가? (혹은 정렬기능이 필요한가?)
- 삽입/삭제가 빈번 한가?
- 데이터의 크기는 얼마나 되는가?
- 속도를 최우선으로 할것인가?
List
- 순서가 있는 집합
- 중복을 허용한다.
- ArrayList
- 순차적으로 삽입하고 삭제하는 것은 빠르지만, 중간 삭제/삽입이 오래걸린다.
- LinkedList
- 중간 삭제/삽입은 오래걸리지 않으나, 접근 시간이 길다
Set
- 순서가 없는 집합
- 중복을 허용하지 않는다.
- HashSet
- 속도가 굉장히 빠르담
Map
- 연관배열 구조(associative array) 중 하나
- Key-Value 쌍으로 이루어져 있다.
- 키는 중복 불가능, 값은 중복 가능하다
- HashMap
- 많이 사용, 속도가 빠르다
collection의 주요 메소드
Comparator, Comparable
- 컬렉션을 정렬하는데 필요한 메서드 (compareTo와 같은 메서드 사용)
- 메서드를 오버로드해서 정렬 기준을 변경 할 수 있다.
728x90
반응형