๋ฐฐ์ด์ ๋ ๊ณ ๋ํ ์ํจ ํํ์ ์๋ฃ๊ตฌ์กฐ๋ก, ์ฐธ์กฐํ ๋ณ์๋ง ์ ์ฅํจ์ผ๋ก์จ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก๋ ๊ฐ๋ณ์ ์ธ ํฌ๊ธฐ, ๋ฐ์ดํฐ ์ถ๊ฐ ๋ฐ ์์ , ๋ฐ์ดํฐ ์ญ์ , ๋ฐ๋ณต, ์ํ, ํํฐ, ๋ฐ์ดํฐ ํฌํจ(์กด์ฌ) ํ์ธ ๋ฑ์ด ์๋ค.์ปฌ๋ ์ ์ ๊ธฐ๋ณธํ ๋ณ์๊ฐ ์๋ ์ฐธ์กฐํ ๋ณ์๋ฅผ ์
์์๊ฐ ์๋ ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก, ๋ฐ์ดํฐ ์ค๋ณต์ ํ์ฉํ๊ณ , ํํ๊ฐ ๋ฐฐ์ด๊ณผ ์ ์ฌํ๋ค. ์ข ๋ฅ๋ก๋ ArrayList, LinkedList, Stack์ด ์๋ค.ArrayList๋ ๋์ ๋ฐฐ์ด๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐ ๋ฐ ์ญ์ ํ ๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌํ ๋นํ๊ธฐ ๋๋ฌธ์ ์ ์ ๋ฐฐ์ด์ธ Array์ ๋ฌ๋ฆฌ ํฌ๊ธฐ
Stack Stack์ Last-In-First-Out(ํ์ ์ ์ถ) ๊ตฌ์กฐ๋ก, ์ฃผ๋ก ์์์ ๋น์ ํด์ ์ค๋ช ํ๋ค. ์์์ ๋ฌผ๊ฑด์ ๋ฃ๊ณ ๋นผ๋ ๊ฒ์ฒ๋ผ ๋ฐ์์๋ถํฐ ์๋ก ์์๊ฐ๊ณ , ๊บผ๋ผ ๋๋ ์์์๋ถํฐ ๊บผ๋ด๋ ํ์์ด๋ค. ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ด๋ฃ๋ push()์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๋ peek()
Set์ ์์๊ฐ ๋ณด์ฅ๋์ง ์๋ ๋ฐ์ดํฐ์ ์งํฉ์ผ๋ก, ๋ฐ์ดํฐ์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค. ๊ธฐ๋ณธ Set์ผ๋ก ์ฌ์ฉํ๊ธฐ ๋ณด๋ค๋ HashSet์ด๋ TreeSet ๋ฑ์ผ๋ก ์์ฉํ์ฌ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.Set๋ Queue์ฒ๋ผ ์์ฑ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ํด๋์ค๋ฅผ ํตํ์ฌ ์์ฑํ ์ ์๋๋ฐ
Map Map์ key-value์ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑ๋์ด, key ๊ฐ์ ๊ธฐ์ค์ผ๋ก value๋ฅผ ์ ์ฅํ๊ณ ์กฐํํ ์ ์๋๋ก ํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ value์ ์ค๋ณต์ ํ์ฉํ ์ง๋ผ๋ key์ ์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค. ์ผ๋ฐ Map์ผ๋ก๋ ์ฌ์ฉํ ์ ์์ง๋ง, HashMap, TreeMa
์ฐธ๊ณ : ๊ธฐ๋ณธํ ๋งค๊ฐ๋ณ์์ ์ฐธ์กฐํ ๋งค๊ฐ๋ณ์: ๋ฉ์๋ ํ๋ผ๋ฏธํฐ์ ๋ณต์ฌ๋๋ ๊ฐ์ ์ฐจ์ด๋ณ์์ ๊ฐ์ ์ฝ๊ธฐ๋ง ํ ์ ์๋ค. (read only)๋งค๊ฐ๋ณ์์ ํ์ ์ด ๊ธฐ๋ณธํ์ผ ๋๋ ๊ฐ ์์ฒด๊ฐ ๋ณต์ฌ๋์ด ๋์ด๊ฐ๊ธฐ ๋๋ฌธ์, ๋งค๊ฐ๊ฐ์ผ๋ก ์ง์ ๋ ๋ณ์์ ์๋ณธ ๊ฐ์ด ๋ณ๊ฒฝ๋์ง ์๋๋ค.์๋์ ๊ฒฐ๊ณผ๋ฅผ
๐ TIL 6์ผ์ฐจ์์ ๋ฐฐ์ด ํ๋, ๊ทธ๋ฆฌ๊ณ ๋ฉ์๋๋ ์ ๋ถ ์ธ์คํด์ค ๋ฉค๋ฒ์ด๋ค. ๊ฐ์ฒด๋ฅผ ์์ฑํด์ผ ์ฌ์ฉํ ์ ์๊ณ , ๊ฐ ์ธ์คํด์ค๋ง๋ค ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง ์ ์๋ค.ํ์ง๋ง ๊ฐ์ฒด๊ฐ ์ธ์คํด์คํ ๋ ๋๋ง๋ค ๊ฐ์ฒด์ ๋ฉ์๋๊ฐ ์์ฑ๋๋ ๊ฒ์ ์๋๋ค. ๋ฉ์๋๋ ๋ฉ์๋ ์์ญ์ ๋๊ณ , ๋ชจ๋ ์ธ์ค
์ค๋ฅ(Error)๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋ณต์ด ๋ถ๊ฐ๋ฅํ ๋ฌธ์ ๋ฅผ ์ผ์ปซ๋๋ค. ์ด๋ ์์คํ ๋ ๋ฒจ์ด๋, ํ๊ฒฝ์ ์ธ ์ด์ ๋ก ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, ์ด๋ ํ ์ค๋ฅ๋ก ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋์๋์ง ํ์ธํ๊ณ ๋์ํด์ผํ๋ค.์ ์ฌํ์ง๋ง ์์ธ(Exception)๋ ์ผ๋ฐ์ ์ผ๋ก ํ๋ณต์ด ๊ฐ๋ฅํ ๋ฌธ
Generic ์ ๋ค๋ฆญ์ ์ฌ์ฉํ๋ ์ด์ 1. ์ค๋ณต๋๊ฑฐ๋ ํ์์๋ ์ฝ๋๋ฅผ ์ค์ฌ์ค๋ค. ์๋ฅผ ๋ค์ด์, ์ซ์๋ฅผ ๋ฐ์ ๋ง์ ํ๋ ํด๋์ค๋ฅผ ๋ง๋ ๋ค๊ณ ์๊ฐํด๋ณด์. ํ์ง๋ง ์ซ์๋ ๋ค์ํ ๋ฐ์ดํฐ ํ์ ์ด ์๊ธฐ ๋๋ฌธ์, ์๋์ฒ๋ผ ๊ทธ ๋ฐ์ดํฐ ํ์ ์ ๋ง๋ ํด๋์ค๋ฅผ ๋ฐ๋ก ์์ฑํด์ฃผ์ด์ผ ํ๋ค.