ch23 : Collections - Set, Queue
Last updated
Last updated
๋ชฉ์ฐจ
์ด๋ค ๊ฐ์ด ์กด์ฌํ๋ ์ง ์๋ ์ง๋ง ํ๋จํ ๊ฒฝ์ฐ์ ์ฌ์ฉ
์ฆ, ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ๊ฑฐ๋ฅด๊ธฐ ์ํด์ ์ฌ์ฉํจ
HashSet
Set ์ค ๊ฐ์ฅ ์ฑ๋ฅ์ด ์ข์
์กฐํํ๊ธฐ
for ๋ฃจํ ์ฌ์ฉ
Iterator ๊ฐ์ฒด ํ์ฉ
TreeSet
๋ ๋๋ธ๋ ํธ๋ฆฌ ํ์ ์ผ๋ก ๊ฐ์ด ์ ์ฅ๋๋ฉฐ, HashSet๋ณด๋ค ๋๋ฆผ
LinkedHashSet
์ฐ๊ฒฐ๋ ๋ชฉ๋ก ํ์ ์ผ๋ก ๊ฐ์ด ์ ์ฅ, ๊ฐ์ฅ ์ฑ๋ฅ ์์ข์
์ฌ๋ฌ ์ฌ์ฉ์๋ค์ ์์ฒญ์ ๋ค์ด์จ ์์๋๋ก ์ฒ๋ฆฌํ ๋ ์ฌ์ฉํ๋ค.
ex) ํฐ์ผํ
๋ฐ๋๋ก Stack์ ํ ์ฌ์ฉ์์ ์น๋ธ๋ผ์ฐ์ ํ์ ๊ธฐ๋ก์ ๋ค๋ก๊ฐ๊ธฐ ํด์ผํ ๊ฒฝ์ฐ ์ฌ์ฉํ๋ค.
๋งํฌ๋ ๋ฆฌ์คํธ ์ฌ์ฉ ์ด์ ?
๋ฆฌ์คํธ ์ค๊ฐ ๊ฐ๋ค์ ์ญ์ /์ถ๊ฐํด์ฃผ์ด์ผ ํ๋ ๊ฒฝ์ฐ,
๋ฆฌ์คํธ/๋ฐฐ์ด์ ๊ฒฝ์ฐ shift ๋น์ฉ์ด ๋๋ฌด ํฌ๋ค. (์ธ๋ฑ์ค๋ก ์ ๊ทผํ๊ณ , ์์๊ฐ ์๋ฏธ๊ฐ ์๊ธฐ์)
๋ฐ๋ฉด ๋งํฌ๋ ๋ฆฌ์คํธ์ ๊ฒฝ์ฐ, ์ค๊ฐ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋๋ฉด ํด๋น ๋ฐ์ดํฐ์ ์/๋ค ์์๋ฅผ ์๋ก ์ฐ๊ฒฐํด์ฃผ๋ฉด ๋๋ค. ์ค๊ฐ์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋ ๊ฒฝ์ฐ, ํด๋น ์์น์ ์/๋ค ์์๊ฐ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ํด์ฃผ๋ฉด ๋๋ค.
โ ์ด๋ฐ์์ผ๋ก ์ค๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ญ์ /์ถ๊ฐ๋ ๊ฒฝ์ฐ ํจ์จ์ ์ด๋ฏ๋ก ๋งํฌ๋๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๋ค.
List, Queue, Deque ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค.
Deque๋ ๊ตฌํํ๊ธฐ์, ๋งจ ์๋ค ๋ฐ์ดํฐ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๋ค.
์ด๊ธฐํ
๋ค๋ฅธ ๋ฆฌ์คํธ/๋ฐฐ์ด์ฒ๋ผ ์ฒ์๋ถํฐ ํฌ๊ธฐ๋ฅผ ์ง์ ํ์ง ์์
์ถ๊ฐ
์ฌ๋ฌ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ์ฌ ๋ฉ์๋ ์ข ๋ฅ๊ฐ ๋ง์ ํผ๋ โ add ์์ฃผ๋ก ์ฌ์ฉํ ๊ฒ
addFirst(Object)
: ๋งจ ์์ ์ถ๊ฐ
addLast(Object)
: ๋งจ ๋ค์ ์ถ๊ฐ
add(int, Object)
: ์ค๊ฐ์ ์ถ๊ฐ
์กฐํ -> get ์์ฃผ๋ก ์ฌ์ฉํ ๊ฒ
getFirst()
getLast()
get(int)
์ญ์ -> remove ์์ฃผ๋ก ์ฌ์ฉํ ๊ฒ
removeFirst()
removeLast()
remove(int)