JAVA/Theory

[Java] Deque์™€ LinkedList

ITs Min 2024. 4. 26.

๐Ÿ” Deque

Deque๋Š” Double Ended Queue์˜ ์–‘๋ฐฉํ–ฅ ๋Œ€๊ธฐ์—ด์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.

์–‘๋ฐฉํ–ฅ์œผ๋กœ ์—ด๋ ค์žˆ๋Š” ๊ตฌ์กฐ๋กœ Queue์™€ ์™ธํ˜•์ ์œผ๋กœ ๋น„์Šทํ•˜์ง€๋งŒ Deque๋Š” Stack๊ณผ Queue์™€ ๋‹ฌ๋ฆฌ LIFO, FIFO์™€ ๊ฐ™์€ ์ˆœ์„œ์— ๊ตฌ์†๋˜์ง€ ์•Š๋Š”๋‹ค.

 

Deque์˜ ํŠน์ง• 

  • Stack ๋ฐ Queue๋ฅผ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Deque๋Š” ์–‘์ชฝ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์–ด์„œ Stack๊ณผ Queue๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ถ”๊ฐ€์™€ ์‚ญ์ œ๋ฅผ ์–‘์ชฝ์—์„œ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์–ด์„œ ์—ฌ๋Ÿฌ ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 

Deque์˜ ์„ ์–ธ

Deque<Integer> deque = new LinkedList<>();
Deque<Integer> deque = new ArrayDeque<>();

 

LinkedList์™€ ArrayDeque ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•ด ๊ตฌํ˜„ํ•œ deque


๐Ÿ” Deque์˜ ๊ฐ’ ์‚ฝ์ž…

add() ๋งˆ์ง€๋ง‰์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์šฉ๋Ÿ‰ ์ดˆ๊ณผ ์‹œ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
addFirst() ๋งจ ์•ž์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์šฉ๋Ÿ‰ ์ดˆ๊ณผ ์‹œ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
addLast() ๋งˆ์ง€๋ง‰์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์šฉ๋Ÿ‰ ์ดˆ๊ณผ ์‹œ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
offer() ๋งˆ์ง€๋ง‰์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์‚ฝ์ž… ์„ฑ๊ณต ์‹œ true, ์šฉ๋Ÿ‰ ์ œํ•œ์— ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ false๋ฅผ ๋ฆฌํ„ด
offerFirst() ๋งจ ์•ž์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์‚ฝ์ž… ์„ฑ๊ณต ์‹œ true, ์šฉ๋Ÿ‰ ์ œํ•œ์— ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ false๋ฅผ ๋ฆฌํ„ด
offerLast() ๋งˆ์ง€๋ง‰์— ์›์†Œ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. ์‚ฝ์ž… ์„ฑ๊ณต ์‹œ true, ์šฉ๋Ÿ‰ ์ œํ•œ์— ๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ false๋ฅผ ๋ฆฌํ„ด

๐Ÿ” Deque์˜ ๊ฐ’ ์‚ญ์ œ

remove() ๋งจ ์•ž์˜ ์›์†Œ ์ œ๊ฑฐ ํ›„ ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
removeFirst() ๋งจ ์•ž์˜ ์›์†Œ ์ œ๊ฑฐ ํ›„ ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
removeLast () ๋งˆ์ง€๋ง‰ ์›์†Œ ์ œ๊ฑฐ ํ›„ ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค.๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
poll () ๋งจ ์•ž์˜ ์›์†Œ ์ œ๊ฑฐ ํ›„ ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ null ๋ฆฌํ„ด
pollFirst () ๋งจ ์•ž์˜ ์›์†Œ ์ œ๊ฑฐ ํ›„ ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ null ๋ฆฌํ„ด
pollLast () ๋งˆ์ง€๋ง‰ ์›์†Œ ์ œ๊ฑฐ ํ›„ ํ•ด๋‹น ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ null ๋ฆฌํ„ด

๐Ÿ” Deque์˜ ๊ฐ’ ์กฐํšŒ

getFirst() ๋งจ ์•ž์˜ ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
getLast() ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ ์˜ˆ์™ธ(Exception)๊ฐ€ ๋ฐœ์ƒ
peek () ๋งจ ์•ž์˜ ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ null ๋ฆฌํ„ด
peekFirst () ๋งจ ์•ž์˜ ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ null ๋ฆฌํ„ด
peekLast () ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค .๋ฑ์ด ๋น„์–ด์žˆ๋Š” ๊ฒฝ์šฐ null ๋ฆฌํ„ด

'JAVA > Theory' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Spring] Spring Security  (0) 2024.05.13
[Java] HashMap๊ณผ HashSet  (1) 2024.04.25
[Java] Stack๊ณผ Queue ๊ทธ๋ฆฌ๊ณ  Deque  (0) 2024.04.25
[MAVEN] SpringMVC ๋ฒ„์ „ 2  (0) 2024.03.05
[MAVEN] SpringMVC ๋ฒ„์ „ 1  (0) 2024.03.05

๋Œ“๊ธ€

TOP

๋Šฆ์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ๋• ๋„ˆ๋ฌด ๋Šฆ์€ ๊ฑฐ๋‹ค.