공부하며 정리한 내용입니다!
오류가 있다면 알려주시면 감사하겠습니다 :)
Collection
- 데이터의 집합, 그룹을 말함
- JCF 는 이런 데이터/자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공
- 대표적으로 List, Set, Map
List
- List
- 순서가 있으며 데이터의 중복이 허용
- 인덱스로 원소에 접근 가능
- 가변적
- LinkedList
- 양방향 포인터 구조
- 삽입/삭제가 빈번할 때 데이터의 위치정보만 수정하면 됨
- Vector
- 과거 대용량 처리를 위해 사용
- 내부에서 자동적으로 동기화 처리 -> 비교적 성능이 떨어지고 무거움 -> 잘 사용 X
- ArrayList
- 단방향 포인터 구조
- 각 데이터에 대한 인덱스 -> 조회 기능에 좋음
- LinkedList
Set
- Set
- 순서가 없으며 데이터의 중복이 허용 X
- 검색속도가 빠름
- 인덱스가 따로 존재 X -> iterator 사용
- Hashset : 가장 빠른 임의 접근 속도를 가지지만 순서 예측 X
- TreeSet : 정렬방법을 지정 가능
Map
- Map<K, V>
- Key-Value 쌍으로 이루어진 데이터 집합
- 순서 유지 X
- Key는 중복 X, Value는 중복 가능
- HashTable : HashMap보다 느리지만 동기화 지원
- HashMap : 중복 허용X, 순서 보장 X, NULL 허용, 검색에 뛰어난 성능
- TreeMap : 이진 탐색 트리 기반, Key 값을 기준으로 오름차순 정렬, 저장 시 정렬 -> 속도가 느림
'Programming > JAVA' 카테고리의 다른 글
[자료구조] Stack (0) | 2023.01.15 |
---|---|
[2023.01.12] charAt() (0) | 2023.01.12 |
[2023.01.11] StringBuilder (0) | 2023.01.11 |
[2023.01.06]reverseOrder()/toCharArray() (0) | 2023.01.06 |
[2023.01.05] 문자열 형변환/length/parseInt/substring/Math (0) | 2023.01.05 |
댓글