티스토리 뷰
728x90
반응형
SMALL
Collection
List
특징
index 순서로 저장되며, data 중복을 허용
data를 저장하면, 해당 data의 index가 부여되고, index를 통해 data 조회 및 삭제가 가능
ArrayList
- 생성 방법 :
List<E> list = new ArrayList<>();
- List 인터페이스를 구현한 클래스.
- 비동기이기때문에 여러스레드가 동시에 동작할 수 있다
- 추가/삭제의 성능이 좋지 않고, 검색할 때 성능이 좋다
- 데이터가 들어올 때마다 자동으로 용랑이 늘어난다.
LinkedList
- 생성 방법 :
List<E> list = new LinkedList<>();
- 사용 방법은 ArrayList와 동일
- 비동기로 동작하므로 여러 스레드가 동시에 동작할 수 있다
- 추가/삭제의 성능이 빠르다
- 처음 노드부터 검색해야하기 때문에 검색 성능이 좋지 않다
Vector
- 생성 방법 :
List<E> list = new Vector<>();
- ArrayList와 동일한 구조
- 모든 메소드들이 동기화되어있다
- 단일스레드에서는 성능이 좋지 않다.
Set
특징
순서가 없는 data의 집합
중복을 허용하지 않는다
index가 없으므로 iterator를 사용해야 한다(순서가 보장되지 않음)
Thread-safety하지 않다
HashSet
- 생성 방법 :
Set<E> set = new HashSet<>();
- 접근속도가 가장 빠르다
- 순서를 알 수 없다
TreeSet
- 생성 방법 :
Set<E> set = new TreeSet<>();
- 데이터를 정렬해서 순서대로 보관
LinkdedHashSet
- 생성 방법 :
Set<E> set = new LinkdedHashSet<>();
- 추가된 순서대로 접근이 가능하다
Map
특징
key, value의 쌍으로 저장
key로 data를 관리하므로 key는 중복허용을 하지 않는다.
HashMap
- 생성 방법 :
Map<K, V> map = new HashMap<>();
- null 허용
Hashtable
- hashMap 보다 느림, 동기화
- null을 허용하지 않는다
TreeMap
- 정렬된 순서로 key/value를 저장하므로 검색이 빠르다
- 정렬을 하기 때문에 추가/삭제의 성능이 좋지 않다.
728x90
반응형
LIST
'Java > Collection 정리' 카테고리의 다른 글
Set 메소드 정리 (0) | 2021.01.14 |
---|---|
Map 메소드 정리 (0) | 2021.01.14 |
List 메소드 정리 (0) | 2021.01.14 |
댓글