Java & Kotlin
자바 Collection
필자A
2021. 10. 19. 21:00
java의 collection에는
크게 List, Set, Queue가 있습니다.
List : 순서가 있는 저장공간, 데이터 중복 가능,
Set : 집합적인 저장공간, 데이터 중복 불가
List - ArrayList, Stack, Vector
Set - HashSet, SortedSet
Queue - DeQueue, LinkedList, PriorityQueue
ArrayList : 메모리상에 순차적으로 저장, 인덱스를 이용하여 한번에 데이터 접근 가능
하지만 데이터 추가 시 임의적으로 데이터 이상의 공간을 차지하기도 하며
추가 삭제 모두 인덱스를 조작하여야 하여 쓰기가 많은 작업에는 부적합
Vector : ArrayList와 동일하나 멀티스레드 환경에서 안전
LinkedList : 연속된 위치에 저장되어 있지 않음,
데이터가 서로 앞뒤의 노드를 참조하는 형태여서 ArrayList와는 다르게
쓰기가 많은 작업에서 적합, index가 존재하지 않아 ArrayList와 다르게
첫 번째 데이터부터 타고 가야 함
Stack : FIFO
DeQueue : Queue와 다르게 양쪽에서 삽입, 삭제가 가능
PriorityQueue : 정한 우선순위에 의해 내부의 데이터들이 정렬됨
주로 힙을 이용하여 구현
HashSet : hashcode, equlas를 이용하여 동일 값 일시 저장 불가
(TreeSet) SortedSet : set의 특징답게 중복 불가 Tree구조를
이용하였으므로 범위 검색, 정렬에 적합
반응형