๐ 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 |
๋๊ธ