Algorithm
Array / ArrayList / LinkedList
O'mil
2024. 5. 2. 15:21
728x90
๐Array
- ๊ณ ์ ๋ ํฌ๊ธฐ (ํ ๋ฒ ์์ฑ๋๋ฉด ํฌ๊ธฐ ๋ณ๋ ์๋จ)
- ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ (int, double ๋ฑ)๊ณผ ๊ฐ์ฒด ๋ชจ๋๋ฅผ ์ ์ฅํ ์ ์์
- ๋ฐฐ์ด์ ์์๋ ๋์ผํ ํ์ ์ด์ฌ์ผ ํจ
- ๋ฉ๋ชจ๋ฆฌ๊ฐ ์ฐ์์ ์ผ๋ก ํ ๋น๋จ
- ์ธ๋ฑ์ค๋ฅผ ํตํด ๋น ๋ฅด๊ฒ ์ ๊ทผํ ์ ์์ผ๋ฉฐ, ์ธ๋ฑ์ค๋ 0๋ถํฐ ์์
int[] arr = new int[ํฌ๊ธฐ];
๐ArrayList
- ๋์ ํฌ๊ธฐ (์์๋ฅผ ์ถ๊ฐ/์ญ์ ํจ์ผ๋ก์จ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ ๋ ์ ์์)
- ๊ฐ์ฒด๋ง ์ ์ฅํ ์ ์์ด์ ์์ ๋ฐ์ดํฐ ํ์ ๋ณํํด์ผ ํจ (int → Integer)
- ๋ฉ์๋๋ฅผ ํตํด ์์๋ฅผ ์ถ๊ฐ/์ญ์ /๊ฒ์ํ๋ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์
- ์ธ๋ฑ์ค๋ฅผ ํตํ ์์ ์ ๊ทผ ๊ฐ๋ฅ(get๊ณผ set์ฐ์ฐ์ด ๋งค์ฐ ๋น ๋ฆ)
ArrayList<Integer> arrList = new ArrayList<>();
* ์๋ฐ์์๋ 'ArrayList<Integer>' ๋ณด๋ค 'List<Integer>' ์ฌ์ฉ์ ์ฅ๋ คํ๊ณ ์์
- ์ ์ฐ์ฑ
- List๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ค์ LinkedList๋ ๋ค๋ฅธ List ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ ํด๋์ค๋ก ์ฝ๊ฒ ๋ณ๊ฒฝ ๊ฐ๋ฅ
- ์ฝ๋์ ์ ์ฐ์ฑ์ด ๋์์ง๊ณ , ๋ค์ํ ์๋๋ฆฌ์ค์ ์ ํฉํ ๊ตฌํ์ ์ฌ์ฉํ ์ ์์
- ์ถ์ํ
- ๊ตฌํ ์ธ๋ถ ์ฌํญ์์ ๋ฒ์ด๋ ๋ ๋์ ์์ค์ ์ถ์ํ๋ฅผ ์ ๊ณตํจ
- ์ฝ๋์ ๋๋จธ์ง ๋ถ๋ถ์ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ ๋ฐฉ์์ด ์๋ ์ธํฐํ์ด์ค๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์๋ง ์ง์คํ ์ ์์
๋ฐ๋ผ์, ์ฝ๋๊ฐ ๋ ์ดํดํ๊ธฐ ์ฌ์์ง๊ณ ์ ์ง ๋ณด์ํ๊ธฐ ์ข์์ง
๐LinkedList
- ๋๋ธ ๋งํฌ๋ ๋ฆฌ์คํธ(Double Linked List) ๊ตฌ์กฐ๋ก, ๊ฐ ๋ ธ๋๊ฐ ๋ฐ์ดํฐ์ ํจ๊ป ์ด์ , ๋ค์ ๋ ธ๋์ ์ฐธ์กฐ๋ฅผ ๊ฐ์ง
- ๋์ ์ผ๋ก ๋ฐ์ดํฐ์ ์ถ๊ฐ/์ญ์ ๊ฐ ์ฉ์ดํ๋ฉฐ, ๋ฆฌ์คํธ ์ค๊ฐ์ ์๋ ๋ฐ์ดํฐ์ ์ถ๊ฐ/์ญ์ ๊ฐ ArrayList๋ณด๋ค ๋น ๋ฆ
- ํน์ ์ธ๋ฑ์ค์ ์๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ ๋๋ ์ฒ์๋ถํฐ ์์ฐจ์ ์ผ๋ก ํ์ํด์ผ ํ๋ฏ๋ก, ArrayList๋ณด๋ค ์ ๊ทผ ์๋๊ฐ ๋๋ฆผ
List<Integer> LinkedList = new LinkedList<>();
๐ ๋น๊ต
ํน์ฑ | |
Array | - ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๊ณ ์ ๋์ด ์์ ๋ - ๋ฐ์ดํฐ์ ๋น ๋ฅด๊ฒ ์ ๊ทผํด์ผ ํ ๋ |
ArrayList | - ๋ฐ์ดํฐ ๊ฐ์๊ฐ ๋ณํ ์ ์์ ๋ - ์์ฐจ์ ์ธ ์ ๊ทผ์ด ์ผ์ด๋๋ ๊ฒฝ์ฐ - ์ฝ์ /์ญ์ ๋ณด๋ค๋ ๋ฐ์ดํฐ ์กฐํ๋ฅผ ์์ฃผ ํ ๋ |
LinkedList | - ๋ฐ์ดํฐ๋ฅผ ์ค๊ฐ์ ์ฝ์
/์ญ์ ํ ๋ - ์์ฐจ์ ์ ๊ทผ๋ณด๋ค๋ ์์ ์ ๊ทผ์ด ๋ ํ ๊ฒฝ์ฐ |
728x90