ํ์ฌ ํ๊ต์์ ๋ฐ์ดํฐ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์๋ฅผ ๋ฃ๊ณ ์๋๋ฐ, ๋ฐ์ดํฐ ๊ตฌ์กฐ ๋ถ๋ถ์์ ์ดํด๊ฐ ๊ฐ์ง ์๋ ๋ถ๋ถ์ด ๋ง๋ค. MyArrayList๊น์ง๋ ๊ด์ฐฎ์์ง๋ง, LinkedListd(์ฐ๊ฒฐ ๋ฆฌ์คํธ)๋ฅผ ๊ณต๋ถํ๋ฉด์ ์ดํด๊ฐ ๊ฐ์ง ์๋ ๋ถ๋ถ์ด ๋ง์๋ค.
๋ฐ๋ผ์ ์ ํ๋ธ ๊ฐ์๋ฅผ ๋ณํํ๋ฉด์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ๊ฐ๋ ๊ณผ ์ฝ๋๋ฅผ ๋ธ๋ก๊ทธ์ ๋ณต๊ธฐํ๋ ์์ผ๋ก ๊ณต๋ถ๋ฅผ ์งํํ๊ณ ์ ํ๋ค.
โจ ๋ฐ์ดํฐ ๊ตฌ์กฐ
๋ฐ์ดํฐ์ ์งํฉ, ์์๋ค์ด ๋ ผ๋ฆฌ์ ์ผ๋ก ์ ์๋ ๊ท์น์ ์ํด ๋์ด๋๋ฉฐ ์๋ฃ์ ์ํ ์ฒ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ํ ์ ์๋๋ก ์๋ฃ๋ฅผ ๊ตฌ๋ถํ์ฌ ํํํ ๊ฒ
- ํน์ง
1. ํจ์จ์ฑ
ํจ์จ์ ์ธ ๋ฐ์ดํฐ์ ๊ด๋ฆฌ ๋ฐ ์ฌ์ฉ, ์ ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํํ์ฌ ์ฌ์ฉ
๊ฑฐ๋ํ ๋ฐ์ดํธ๋ฅด ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ
ex) ์ฑ ํ ๊ถ์ ๊ด๋ฆฌํ ํ์๊ฐ ์์ง๋ง, ์ฑ ์ด ๋ช ๋ฐฑ๊ถ์ด ๋๋ฉด ๊ทธ๋ฅ ๋์ด๋ ๋์ง๋ง ๊ณต๊ฐ๋ ๋ง์ด ์ฐจ์งํ๊ณ ์๊ฐ๋ ์ค๋ ๊ฑธ๋ฆผ. ๋ง์ ์ฑ ์ ์ ๋ฆฌํ๋ฉด ๊ณต๊ฐ๋ ์ค์ด๋ค ๋ฟ๋๋ฌ ์ฑ ์ ์ฐพ๋ ์๊ฐ๋ ๋นจ๋ผ์ง.
2. ์ถ์ํ
๋ณต์กํ ์๋ฃ, ๋ชจ๋, ์์คํ ๋ฑ์ผ๋ก๋ถํฐ ํต์ฌ์ ์ธ ๊ฐ๋ ๋ง ๊ฐ์ถ๋ ค ๋ด๋ ๊ฒ
์ด๋ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ด๋ป๊ฒ ์ฌ์ฉํ ๊ฒ์ธ์ง ์ด์ ์ ๋ง์ถ์ด ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง๋ง
3. ์ฌ์ฌ์ฉ์ฑ
๋ค์ํ ํ๋ก๊ทธ๋จ์์ ๋์ํ ์ ์๋๋ก ๋ฒ์ฉ์ฑ ์๊ฒ ์ค๊ณ, ํน์ ํ๋ก๊ทธ๋จ์์๋ง ์๋ํ๋๋ก ํ์ง ์์.
- ๋ถ๋ฅ
1. ๋จ์๊ตฌ์กฐ
์ ์, ์ค์, ๋ฌธ์, ๋ฌธ์์ด(์์ธ๊ฐ ๋ ์ ์์)
2. ์ ํ๊ตฌ์กฐ
๋ฆฌ์คํธ, ์ฐ๊ฒฐ ๋ฆฌ์คํธ, ์คํ, ํ, ๋ฑ
3. ๋น์ ํ๊ตฌ์กฐ
ํธ๋ฆฌ, ๊ทธ๋ํ
4. ํ์ผ๊ตฌ์กฐ
์์ฐจํ์ผ, ์์ธํ์ผ, ์ง์ ํ์ผ
[์ถ์ฒ] : https://andrew0409.tistory.com/148
โจ Array
๋ฒํธ์ ๋ฒํธ์ ๋์ํ๋ ๋ฐ์ดํฐ๋ค๋ก ์ด๋ฃจ์ด์ง ์๋ฃ๊ตฌ์กฐ
๋ง์ ๋ฐ์ดํฐ ์คํธ๋ญ์ณ๋ค์ด ๋ด๋ถ์ ์ผ๋ก ๋ถํ์ผ๋ก ๋ง์ด ์ฌ์ฉ
์ฌ๋ฌ ๋ฐ์ดํ จ๋ฅผ ํ๋์ ์ด๋ฆ์ผ๋ก ๊ทธ๋ฃนํํด์ ์งํฉ์ผ๋ก ๊ด๋ฆฌํจ. -> ๊ด๋ฆฌ: ๋ฐ๋ณต๋ฌธ์ผ๋ก
์์ฐจ์ ์ผ๋ก ์ ์ฅ๋์ด ๊ฐ์ ๋ฒํธ๊ฐ ๊ณง ๋ฐฐ์ด์ ์์์ ์ผ๋ก๋ถํฐ ๊ฐ์ด ์ ์ฅ
fruit = ๋ฐฐ์ด์์ฑ;
fruit[0] = '์ฌ๊ณผ';
fruit[1] = '๋ฐฐ';
fruit[2] = '๋ฐ๋๋';
value: '์ฌ๊ณผ', '๋ฐฐ', '๋ฐ๋๋' <๊ฐ>
โญ index: 0, 1, 2 <๊ณ ์ ํ ๋ฒํธ, ๋ฐ์ดํฐ ์๋ณ>
element: fruit[0] = '์ฌ๊ณผ' <value + index>
โจ Array ์์ฑ (CREATE)
//์ ์ํ์ element๋ฅผ ๊ฐ๊ณ ์๋ ๋ฐฐ์ด
int[] numebrs1 = new int[4];
numebrs1[0] = 10;
numebrs1[1] = 20;
numebrs1[2] = 30;
//๋ฌธ์์ด์ element๋ฅผ ๊ฐ๊ณ ์๋ ๋ฐฐ์ด
String[] strings = new String[4];
int[] numebrs3 = {10, 20, 30};
int[] numebrs3 = new int[]{10, 20, 30};
โจ Array GET
System.out.println(numbers1[0]); // 10
System.out.println(numbers1[3]); //0 default int 0
โจ Array SIZE
System.out.println(numbers1.length);
โจ Array Iteration (๋ฐ๋ณต)
์ฐ๊ด๋ ๊ฐ์ ์์ฐจ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ์ถ์ ๋ ์ฌ์ฉ
// ์ ๋ง์ ๋ฒ๊ทธ๋ฅผ ๋ฐ์์ํฌ ์ ์์
int i = 0;
while(numbers1.length>i){
System.out.println(numbers1[i]);
i++;
}
//-----------------------------------------
// ๋์ฑ๋ ๊ฐ๋จํ๊ฒ ์์
๊ฐ๋ฅ
// while์ ๊ฐ์ ํ ์ฝ๋
for(i = 0; i<numbers1.length;i++){
System.out.println(numbers1[i]);
}
โจ Array ์ฅ/๋จ์
- ํฌ๊ธฐ๊ฐ ์ ํด์ ธ ์๋ค. ->์ข์ ๋ถํ์ผ๋ก ๋ง๋ค๊ธฐ ์ํด (์๊ณ ๊ฐ๋ณ๊ณ , ๋จ์ํ๋ค)
- ๊ธฐ๋ฅ์ด ์๋ค.
ํฌ๊ธฐ๊ฐ ํ์ ๋์ด ์๋ ๊ฒฝ์ฐ๋ ์ฅ์ ์ด ๋ ์๋ ์๊ณ ๋จ์ ์ด ๋ ์๋ ์๋ค. ์ฅ์ ์ผ๋ก์ ๋ณธ๋ค๋ฉด, ๋ฐ์ดํฐ ๊ตฌ์กฐ์์ ์ข์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋์ ๋ถํ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ๋น ๋ฅด๊ณ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ๊ฒ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๊ณ ๊ฐ๋ณ๊ณ ๋จ์ํ๋ค๋ ์ฅ์ ์ ๊ฐ๊ณ ์๊ธฐ ๋๋ฌธ์ด๋ค.
'PS > Data Structure' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LinkedList ๊ตฌํ ๋ฐฉ๋ฒ (MyLinkedList) (0) | 2022.04.10 |
---|---|
[๊ฐ๋ ] LinkedList (0) | 2022.04.10 |
ArrayList ๊ตฌํ ๋ฐฉ๋ฒ (MyArrayList) (0) | 2022.04.10 |
[๊ฐ๋ ] ArrayList, ์ฌ์ฉ๋ฒ(create, insert, remove, get, size, indexof, iterator) (0) | 2022.04.09 |
[๊ฐ๋ ] Array vs List, List (0) | 2022.04.09 |