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구조를

이용하였으므로 범위 검색, 정렬에 적합

 

반응형