JAVA :: 덱 (Deque)

s_omiΒ·2022λ…„ 8μ›” 22일
0

JAVA (μžλ°”)

λͺ©λ‘ 보기
60/62

πŸ“ 덱 (Deque)

πŸ’‘ μ„ μ–Έ

Deque<E> deque1 = new ArrayDeque<>();
Deque<E> deque2 = new LinkedBlockingDeque<>();
Deque<E> deque3 = new ConcurrentLinkedDeque<>();
Deque<E> linkedList = new LinkedList<>();

πŸ’‘ λ™μž‘ 원리 (νŠΉμ§•)

큐(Queue)와 μŠ€νƒ(Stack)을 합쳐 놓은 ν˜•νƒœλ‘œ 큐의 μ–‘μͺ½μ—μ„œ 데이터λ₯Ό λ„£κ³  λΊ„ 수 μžˆλ‹€.


πŸ’‘ λ©”μ†Œλ“œ

νƒ€μž…λ©”μ†Œλ“œμ„€λͺ…
Epush(E value) & addFirst(E value)맨 μ•žμ— value μΆ”κ°€ν•˜λ©° μ‹€νŒ¨(μš©λŸ‰ 초과) μ‹œ Exception μ—λŸ¬ λ°˜ν™˜
Eadd(E value) & addLast(E value)맨 뒀에 value μΆ”κ°€ν•˜λ©° μ‹€νŒ¨(μš©λŸ‰ 초과) μ‹œ Exception μ—λŸ¬ λ°˜ν™˜
booleanofferFirst(E value)맨 μ•žμ— value μΆ”κ°€ν•˜λ©° 성곡 μ‹œ true, μ‹€νŒ¨ μ‹œ false λ°˜ν™˜
booleanoffer(E value) & offerLast(E value)맨 뒀에 데이터 μΆ”κ°€ν•˜λ©° 성곡 μ‹œ true, μ‹€νŒ¨ μ‹œ false λ°˜ν™˜
Epush(E value)맨 μ•ž 데이터λ₯Ό λ°˜ν™˜ν•˜κ³  νμ—μ„œ 제거, 큐가 λΉ„μ–΄μžˆλ‹€λ©΄ null λ°˜ν™˜
voidpop() & remove() & removeFirst()맨 μ•ž 데이터 제거, μ‹€νŒ¨(λΉ„μ–΄ 있음) μ‹œ Exception μ—λŸ¬ λ°˜ν™˜
voidpoll() & pollFirst()맨 μ•ž 데이터 제거, μ‹€νŒ¨ μ‹œ null λ°˜ν™˜
voidremoveLast()맨 λ’€ 데이터 제거, μ‹€νŒ¨ μ‹œ Exception μ—λŸ¬ λ°˜ν™˜
voidpollLast()맨 λ’€ 데이터 제거, μ‹€νŒ¨ μ‹œ null λ°˜ν™˜
voidremoveFirstOccurrence(E value)μ•ž μͺ½μ—μ„œ value와 같은 데이터λ₯Ό μ°Ύμ•„ 제거
voidremove(E value) & removeLastOccurrence(E value)λ’€ μͺ½μ—μ„œ value와 같은 데이터λ₯Ό μ°Ύμ•„ 제거
EgetFirst()맨 μ•ž 데이터 확인, μ‹€νŒ¨ μ‹œ Exception μ—λŸ¬ λ°˜ν™˜
Epeek() & peekFirst()맨 μ•ž 데이터 확인, μ‹€νŒ¨ μ‹œ null λ°˜ν™˜
EgetLast()맨 λ’€ 데이터 확인, μ‹€νŒ¨ μ‹œ Exception μ—λŸ¬ λ°˜ν™˜
EpeekLast()맨 λ’€ 데이터 확인, μ‹€νŒ¨ μ‹œ null λ°˜ν™˜
Econtain(E value)value와 같은 데이터가 ν¬ν•¨λ˜μ–΄ μžˆλŠ” 지 확인
Esize()덱의 크기 λ°˜ν™˜

profile
κ³΅λΆ€ν•œ κ±° μ˜¬λ €μš” :)

0개의 λŒ“κΈ€