Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 배열
- 회고
- 코딩문제
- ArrayList
- 프로그래머스
- github
- 코딩
- Til
- cs 공부)준비
- Entity
- 자료구조
- css
- 이진 탐색(binary search)
- wil
- 면접(java
- Spring
- 99클럽
- 코딩공부
- 항해99
- 자바
- aop
- 개발자 취업
- HTML
- Java
- GIT
- 코딩테스트 준비
- Grafana
- 정렬 알고리즘(sort algorithm)
- CS
- 메서드
Archives
- Today
- Total
hayu's 개발 일지
[TIL]240410 JAVA Collection 본문
Collection 란?
- java 에서 컬렉션(Collection)은 데이터의 집합, 그룹을 의미한다.
- JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다.
- Collection 인터페이스는 List, Set, Queue로 크게 3가지 인터페이스로 분류할 수 있다. Map의 경유 컬렉션 인터페이스를 상속받고 있지 않지만 컬렉션으로 분류된다.
Collection 종류
Set 인터페이스
구현 클래스 :
HashSet - 접근 속도가 가장 빠르다. 순서를 예측할 수 없다.
TreeSet - 정렬 방법을 지정할 수 있다.
- 특징 : 순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다.
List 인터페이스
구현 클래스 :
LinkedList - 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 데이터의 위치 정보만 수정하면 되기에 유용하다. 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰인다.
Vector - 과거에 대용량 처리를 위해 사용했다. 내부에서 자동 동기화처리가 일어나 비교적 성능이 좋지 않고 무거워 잘 쓰이지 않는다.
ArrayList - 단방향 포인터 구조로 각 데이터에 대한 인덱스를 가지고 있어 조회 기능에 성능이 뛰어나다.
- 특징 : 순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다.
Queue 인터페이스
구현 클래스 : LinkedList, PriorityQueue
- 특징 : List 유사하다. FIFO(FIFO : First In First Out) 방식으로 관리한다.
Map 인터페이스
구현 클래스 :
Hashtable - HashMap 보다는 느리지만 동기화를 지원한다.
HashMap - 중복과 순서가 허용되지 않으면 null 값이 올 수 있다.
TreeMap - 정렬된 순서대로 키(Key)와 값(Value)을 저장하여 검색이 빠르다.
- 특징 : 키(Key), 값(Value)의 쌍으로 이루어진 데이터의 집합으로 순서는 유지되지 않으며 키(Key)의 중복을 허용하지 않으나 값(Value)의 중복을 허용한다.
Stack
- 특징 : LIFO(LIFO : Last In First Out) 방식으로 관리한다.
참고 자료
- https://gangnam-americano.tistory.com/41
'기술 > java' 카테고리의 다른 글
[TIL]240417 열거형(enum) (0) | 2024.04.17 |
---|---|
[TIL]240416 wrapper 클래스 (0) | 2024.04.16 |
[TIL]240408 Scanner 클래스 (1) | 2024.04.08 |
[TIL]240406 Set (0) | 2024.04.06 |
[TIL]240403 Map (0) | 2024.04.03 |