[Java] ๋ฐฐ์—ด(Array)

SeoYoonยท2023๋…„ 6์›” 22์ผ

๐Ÿ’—JAVA

๋ชฉ๋ก ๋ณด๊ธฐ
11/21

๐Ÿ–ค๋ฐฐ์—ด (Array)

1. ๋ฐฐ์—ด?

: ๊ฐ ๋ฐ์ดํ„ฐ์— ์ธ๋ฑ์Šค(index)๋ฅผ ๋ถ€์—ฌํ•ด๋†“์€ ์ž๋ฃŒ ๊ตฌ์กฐ, 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•จ

score ๋ฐฐ์—ด์˜ ๊ฐ ์ธ๋ฑ์Šค๋Š” ๊ฐ ํ•ญ๋ชฉ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ ๋ฐฐ์—ด ์ด๋ฆ„ ์˜†์— ๋Œ€๊ด„ํ˜ธ์— ๊ธฐ์ž…๋œ๋‹ค.
-> score[์ธ๋ฑ์Šค]


(1) ๋ฐฐ์—ด์˜ ํŠน์ง•

  • ๊ฐ™์€ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ•œ ๋ฒˆ ์ƒ์„ฑ๋œ ๋ฐฐ์—ด์€ ๊ธธ์ด๋ฅผ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์—†๋‹ค.

2. ๋ฐฐ์—ด ์„ ์–ธ

(1) ํƒ€์ž…[ ] ๋ณ€์ˆ˜;
(2) ํƒ€์ž… ๋ณ€์ˆ˜ [ ];

: ๋ฐฐ์—ด ๋ณ€์ˆ˜๋Š” ์ฐธ์กฐ ๋ณ€์ˆ˜์— ์†ํ•œ๋‹ค. ๋ฐฐ์—ด๋„ ๊ฐ์ฒด์ด๋ฏ€๋กœ ํž™ ์˜์—ญ์— ์ƒ์„ฑ๋˜๊ณ  ๋ฐฐ์—ด ๋ณ€์ˆ˜๋Š” ํž™ ์˜์—ญ์˜ ๋ฐฐ์—ด ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ฒŒ ๋œ๋‹ค. ์ฐธ์กฐํ•  ๋ฐฐ์—ด ๊ฐ์ฒด๊ฐ€ ์—†๋‹ค๋ฉด ๋ฐฐ์—ด ๋ณ€์ˆ˜๋Š” null๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋  ์ˆ˜ ์žˆ๋‹ค.

ex.) ํƒ€์ž…[ ] ๋ณ€์ˆ˜ = null;

๋ฐฐ์—ด ๋ณ€์ˆ˜๊ฐ€ null๊ฐ’์„ ๊ฐ€์ง„ ์ƒํƒœ์—์„œ ๋ณ€์ˆ˜[์ธ๋ฑ์Šค]๋กœ ๊ฐ’์„ ์ฝ๊ฑฐ๋‚˜ ์ €์žฅํ•˜๊ฒŒ ๋˜๋ฉด NullPointerException์ด ๋ฐœ์ƒํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ๋ฐฐ์—ด ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ์ƒํƒœ์—์„œ ๊ฐ’์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ฝ์–ด์•ผ ํ•œ๋‹ค.


3. ๋ฐฐ์—ด ์ƒ์„ฑ

(1) ๊ฐ’ ๋ชฉ๋ก์œผ๋กœ ๋ฐฐ์—ด ์ƒ์„ฑ

-> ํƒ€์ž… [ ] ๋ณ€์ˆ˜ = { ใ…‡, ใ…‡, ใ…‡ ... }
ex.) int [ ] arr = {1, 2, 3, 4, ... }

* TIP : ๋ฐฐ์—ด ๋ณ€์ˆ˜๋ฅผ ์ด๋ฏธ ์„ ์–ธํ•œ ํ›„์—๋Š” ๋‹ค๋ฅธ ์‹คํ–‰๋ฌธ์—์„œ ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฐ์—ด ์ƒ์„ฑ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.


(2) new ์—ฐ์‚ฐ์ž๋กœ ๋ฐฐ์—ด ์ƒ์„ฑ

-> ํƒ€์ž… [ ] ๋ณ€์ˆ˜ = new ํƒ€์ž…[๊ธธ์ด];
ex.) int[ ] intArray = new int[5];

* TIP : new์—ฐ์‚ฐ์ž๋กœ ๋ฐฐ์—ด์„ ์ฒ˜์Œ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ ๋ฐฐ์—ด์€ ์ž๋™์ ์œผ๋กœ ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.


4. ๋ฐฐ์—ด ๊ธธ์ด

: ๋ฐฐ์—ด์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ „์ฒด ํ•ญ๋ชฉ์˜ ๊ฐœ์ˆ˜
-> ๋ฐฐ์—ด ๋ณ€์ˆ˜.length;

int [] intArray = { 10, 20, 30 }; // Size = 3
int num = intArray.length; // int num์—๋Š” 3์ด ์ €์žฅ๋จ

* TIP : length ํ•„๋“œ๋Š” ์ฝ๊ธฐ ์ „์šฉ ํ•„๋“œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค. (intArray.length = 10; ์ด๋Ÿฐ ์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉด ์•ˆ ๋จ)


5. ๋‹ค์ฐจ์› ๋ฐฐ์—ด

: ๊ฐ€๋กœ ์ธ๋ฑ์Šค์™€ ์„ธ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•จ

ex.) int [ ] [ ] scores = new int [2][[3];

  • 1์ฐจ์› ๋ฐฐ์—ด์ด ์—ฌ๋Ÿฌ ๊ฐœ ๋ชจ์ธ ๊ฒƒ
  • 2์ฐจ์› ์ด์ƒ์˜ ๋ฐฐ์—ด
  • ๋ฐฐ์—ด ์š”์†Œ๋กœ ๋˜ ๋‹ค๋ฅธ ๋ฐฐ์—ด์„ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด
  • 1์ฐจ์› ๋ฐฐ์—ด : [ํ–‰] / 2์ฐจ์› ๋ฐฐ์—ด : [ํ–‰][์—ด] / 3์ฐจ์› ๋ฐฐ์—ด : [๋ฉด][ํ–‰][์—ด]

6. ๋ฐฐ์—ด ๋ณต์‚ฌ

: ๋ฐฐ์—ด์€ ํ•œ ๋ฒˆ ์ƒ์„ฑํ•˜๋ฉด ํฌ๊ธฐ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์ €์žฅ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฉด ๋” ํฐ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ๋งŒ๋“ค๊ณ  ์ด์ „ ๋ฐฐ์—ด๋กœ๋ถ€ํ„ฐ ํ•ญ๋ชฉ ๊ฐ’๋“ค์„ ๋ณต์‚ฌํ•ด์•ผ ํ•œ๋‹ค. ๋ฐฐ์—ด ๊ฐ„์˜ ํ•ญ๋ชฉ ๊ฐ’๋“ค์„ ๋ณต์‚ฌํ•˜๋ ค๋ฉด for๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ System.arraycopy() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.


7. for ๋ฌธ

for ( โ‘กํƒ€์ž…๋ณ€์ˆ˜ : โ‘ ๋ฐฐ์—ด ) {
	โ‘ข์‹คํ–‰๋ฌธ;
}

โ‘  for๋ฌธ์ด ์ฒ˜์Œ ์‹คํ–‰๋  ๋•Œ ๋ฐฐ์—ด์—์„œ ๊ฐ€์ ธ์˜ฌ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ํ‰๊ฐ€
โ‘ก ๊ฐ€์ ธ์˜ฌ ๊ฐ’์ด ์กด์žฌํ•˜๋ฉด ํ•ด๋‹น ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅ
โ‘ข ์‹คํ–‰๋ฌธ ์‹คํ–‰
โ‘ฃ ๋ธ”๋ก ๋‚ด๋ถ€์˜ ์‹คํ–‰๋ฌธ์ด ๋ชจ๋‘ ์‹คํ–‰๋˜๋ฉด ๋‹ค์‹œ ๋ฃจํ”„๋ฅผ ๋Œ์•„ ๋ฐฐ์—ด์—์„œ ๊ฐ€์ ธ์˜ฌ ๋‹ค์Œ ๊ฐ’์ด ์กด์žฌํ•˜๋Š”์ง€ ํ‰๊ฐ€
โ‘ค ๋งŒ์•ฝ ๋‹ค์Œ ํ•ญ๋ชฉ์ด ์กด์žฌํ•˜๋ฉด โ‘กํƒ€์ž… ๋ณ€์ˆ˜ -> โ‘ข์‹คํ–‰๋ฌธ -> โ‘ ๋ฐฐ์—ด ์ˆœ์„œ๋กœ ์ง„ํ–‰ํ•˜๊ณ  ๋‹ค์Œ ํ•ญ๋ชฉ์ด ์—†์œผ๋ฉด for๋ฌธ ์ข…๋ฃŒ

profile
๊ณต๋ถ€ ๊ธฐ๋ก

0๊ฐœ์˜ ๋Œ“๊ธ€