โจ List vs Array ์ ์ฅ
๋ ๋ค, ์์๋๋ก ์ ์ฅ๋๊ณ ๋ฐ์ดํฐ๋ฅผ ์ค๋ณตํ์ฌ ์ ์ฅ ๊ฐ๋ฅ
Array๋ ์ด๋ค ๋ฐ์ดํฐ ์ ์ฅ ์์น๊ฐ ์ค์ํจ. (index) ์ฃผ์๋ฅผ ๊ฐ๊ณ ๋ฐ๋ก ์ฐพ์๊ฐ ์ ์์
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
array์์ index 3์ 50์ ๊ฐ์ ๋ฃ๊ฒ ๋๋ฉด 40 ์์ ๋ฎ์ด์๊ฒ ๋๋ค.
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 50;
List๋ index๊ฐ ์ค์ํ์ง๋ง, element์ ๋ค์ ๋ฐ์ดํฐ๊ฐ ๋ฌด์์ธ์ง๊ฐ ๋ ์ค์ํจ.
๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋์ด ์๋ ์์๊ฐ ์ค์ํจ.
list[0] = 10;
list[1] = 20;
list[2] = 30;
list[3] = 40;
array์์ index 3์ 50์ ๊ฐ์ ๋ฃ๊ฒ ๋๋ฉด 40 ์ ๋ค๋ก ๋ฐ๋ ค์ ์ ์ฅ๋๋ค.
list[0] = 10;
list[1] = 20;
list[2] = 30;
list[3] = 50;
list[4] = 40; //array์ ๋ค๋ฅธ ์ฐจ์ด
โจ List vs Array ์ญ์
Array๋ ์ญ์ ๋๋ฉด ์ญ์ ๋ ๊ณณ์ ์๋ฌด ๊ฐ๋ ์์ด ์ ์ฅ๋์ด ์์ ๊ฒ
๊ทธ๋งํผ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ๊ณ ์์ ๊ฒ, ์ญ์ ๋ฅผ ํ๋๋ผ๋ ๋ฉ๋ชจ๋ฆฌ๋ ์ฐจ์งํ๊ณ ์์ ๊ฒ
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
//array[2] ์ญ์ ์
array[0] = 10;
array[1] = 20;
//๊ฐ์ด ์์ default ๊ฐ์ด ์์ ๊ฒ
array[3] = 40;
List๋ ๋ค์ ๊ฐ์ด ์์ ๊ฐ์ ์ฑ์ ๋ฃ์.
array[0] = 10;
array[1] = 20;
array[2] = 30;
array[3] = 40;
//array[2] ์ญ์ ์
array[0] = 10;
array[1] = 20;
array[2] = 40;
โจ List ๊ธฐ๋ฅ
- ์ฒ์, ์ค๊ฐ, ๋์ ์๋ฆฌ๋จผํธ๋ฅผ ์ถ๊ฐ/์ญ์ ํ๋ ๊ธฐ๋ฅ์ ๊ฐ๊ณ ์์ด์ผ ํ๋ค.
- ๋ฆฌ์คํธ์ ๋ฐ์ดํฐ๊ฐ ์๋ ์ง ์ฒดํฌํ๋ ๊ธฐ๋ฅ
- ๋ฆฌ์คํธ์ ๋ชจ๋ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋ ๊ธฐ๋ฅ
์ถ๊ฐ ํ ๋, ์ถ๊ฐ๋ ๋ฐ์ดํฐ๊ฐ ์๋ ์๋ฆฌ ๋ค์ ๋ฐ์ดํฐ๋ค์ด ํ ์นธ์ฉ ๋ค๋ก ๋ฐ๋ ค๋๊ฐ๋ ๊ฒ
โจ List ์ง์
- C: ์ง์ ์ํจ, ์ง์ ๋ง๋ค๊ฑฐ๋ ๋ค๋ฅธ์ฌ๋์ด ๋ง๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉ, list์ ๋ํ ์ง์์ ์ ๋ง ์ค์ํจ
- JavaScript: ์ง์ํจ, C Family Language -> ๋ฐฐ์ด์ด ๋ฆฌ์คํธ ์ญํ
numbers = [10, 20, 30, 40, 50];
numbers.splice(3, 1); // index 3๋ถํฐ ์ฒซ ๋ฒ์งธ ๋ฐ์ดํฐ ๊ฐ๊น์ง ์ญ์
//[40] ์ญ์ ํ, 50์ด 40์ ์๋ฆฌ๋ฅผ ์ฐจ์ง
for(i = 0; i<numebrs.length;i++){
console.log(numbers[i]);
}
- Python: ๋ฐฐ์ด์ ๊ธฐ๋ณธ์ ์ง์ ์ํจ, ๋ฆฌ์คํธ ์ง์ -> ๋ฆฌ์คํธ๊ฐ ๋ฐฐ์ด ์ญํ
numbers = [10, 20, 30, 40, 50];
numbers.pop(3);
for number in numbers:
print(number);
- Java: ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ๋ฅผ ์์ ํ ๋ค๋ฅธ ๋ฌธ๋ฒ์ผ๋ก ์ ๊ณต(๋ถ๋ฆฌ๋จ), ๋ฐฐ์ด๊ณผ ๋ฆฌ์คํธ ๋ชจ๋ ์ง์
Java๋ ๋๊ฐ์ง ํํ์ List๋ฅผ ์ง์ (ArrayList, LinkedList)
1. ArrayList: ์ถ๊ฐ ์ญ์ ๋๋ฆผ, ์ธ๋ฑ์ค ์กฐํ ๋น ๋ฆ
2. LinkedList: ์ถ๊ฐ ์ญ์ ๋น ๋ฆ, ์ธ๋ฑ์ค ์กฐํ ๋๋ฆผ
๊ตฌํํ๊ณ ์ ํ๋ ๊ฒ์ด ๋ฌด์์ด๋์ ๋ฐ๋ผ์ ์ง์ ์ ํ
//๋ฐฐ์ด
int[] numbers = {10, 20, 30, 40, 50};
//ArrayList
ArrayList numbers = new ArrayList();
numbers.add(10);
numbers.add(20);
numbers.add(30);
numbers.add(40);
numbers.add(50);
numbers.remove(3);
//LinkedList
LinkedList numbers = new LinkedList();
-> ์ต๊ทผ์ ์ธ์ด๋ค์ ๋ฆฌ์คํธ๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์, ๋ฆฌ์คํธ์ฒ๋ผ ๋ฐฐ์ด์ ์ฌ์ฉ ๊ฐ๋ฅ
'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 |
[๊ฐ๋ ] ๋ฐ์ดํฐ ๊ตฌ์กฐ (Data Structure), Array (0) | 2022.04.09 |