728x90
List
순서가 있는 데이터 집합. (데이터 중복 허용 o)
|
Add
|
Remove
|
Get
|
Contains
|
Data Structure
|
ArrayList
|
O(1)
|
O(n)
|
O(1)
|
O(n)
|
Array
|
LinkedList
|
O(1)
|
O(1)
|
O(n)
|
O(n)
|
Linked List
|
CopyonWriteArrayList
|
O(n)
|
O(n)
|
O(1)
|
O(n)
|
Array
|
Set
순서를 유지하지 않는 데이터 집합. (데이터 중복 허용 x)
|
Add
|
Contains
|
Next
|
Data Structure
|
HashSet
|
O(1)
|
O(1)
|
O(h/n)
|
Hash Table
|
LinkedHashSet
|
O(1)
|
O(1)
|
O(1)
|
Hash Table + Linked List
|
EnumSet
|
O(1)
|
O(1)
|
O(1)
|
Bit Vector
|
TreeSet
|
O(log n)
|
O(log n)
|
O(log n)
|
Red-black tree
|
CopyonWriteArraySet
|
O(n)
|
O(n)
|
O(1)
|
Array
|
ConcurrentSkipList
|
O(log n)
|
O(log n)
|
O(1)
|
Skip List
|
Queue
|
Offer
|
Peak
|
Poll
|
Size
|
Data Structure
|
PriorityQueue
|
O(log n )
|
O(1)
|
O(log n)
|
O(1)
|
Priority Heap
|
LinkedList
|
O(1)
|
O(1)
|
O(1)
|
O(1)
|
Array
|
ArrayDequeue
|
O(1)
|
O(1)
|
O(1)
|
O(1)
|
Linked List
|
ConcurrentLinkedQueue
|
O(1)
|
O(1)
|
O(1)
|
O(n)
|
Linked List
|
ArrayBlockingQueue
|
O(1)
|
O(1)
|
O(1)
|
O(1)
|
Array
|
PriorirityBlockingQueue
|
O(log n)
|
O(1)
|
O(log n)
|
O(1)
|
Priority Heap
|
SynchronousQueue
|
O(1)
|
O(1)
|
O(1)
|
O(1)
|
None!
|
DelayQueue
|
O(log n)
|
O(1)
|
O(log n)
|
O(1)
|
Priority Heap
|
LinkedBlockingQueue
|
O(1)
|
O(1)
|
O(1)
|
O(1)
|
Linked List
|
Stack
Push | Pop | peek | Search |
O(1) | O(1) | O(1) | O(n) |
Map
key와 value로 구성. 각 key에는 하나의 value 매핑. (key는 중복 허용 x, value는 중복 허용 o)
|
Get
|
ContainsKey
|
Next
|
Data Structure
|
HashMap
|
O(1)
|
O(1)
|
O(h / n)
|
Hash Table
|
LinkedHashMap
|
O(1)
|
O(1)
|
O(1)
|
Hash Table + Linked List
|
IdentityHashMap
|
O(1)
|
O(1)
|
O(h / n)
|
Array
|
WeakHashMap
|
O(1)
|
O(1)
|
O(h / n)
|
Hash Table
|
EnumMap
|
O(1)
|
O(1)
|
O(1)
|
Array
|
TreeMap
|
O(log n)
|
O(log n)
|
O(log n)
|
Red-black tree
|
ConcurrentHashMap
|
O(1)
|
O(1)
|
O(h / n)
|
Hash Tables
|
ConcurrentSkipListMap
|
O(log n)
|
O(log n)
|
O(1)
|
Skip List
|
728x90
'Study > Java' 카테고리의 다른 글
[Java] Lambda 훑어보기 (0) | 2024.08.25 |
---|---|
[Java] Java로 풀면 KMP를 써야하는 브론즈 문제가 있다? (0) | 2024.08.18 |
[Eclipse] 삼성 코딩테스트를 위한 연습 환경 만들기 (+단축키) (7) | 2023.04.04 |
[IntelliJ] OpenJDK Java 11과 spring Mac M1 초기 환경 세팅 (2) | 2023.02.28 |
IntelliJ 학생 라이센스 갱신하기 (0) | 2023.01.06 |