ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Data Structure

[์ž๋ฃŒ๊ตฌ์กฐ] ๋ฐฐ์—ด Array

NaNaRin๐Ÿ™ƒ 2021. 1. 13. 14:50

0. ๋ฐฐ์—ด Array ๋ž€ ?

 

๋ฐฐ์—ด์€ ๊ฐ™์€ ์ž๋ฃŒํ˜•์˜ ๋ณ€์ˆ˜๋กœ ์ด๋ฃจ์–ด์ง„ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ๋ชจ์ธ ๊ฒƒ. 

 

 

 

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

 

๋ฐฐ์—ด์„ ์„ ์–ธํ•˜๋ฉด ๋ฐฐ์—ด ๋ณธ์ฒด์™€ ํ•จ๊ผ ๋ฐฐ์—ด์˜ ๊ตฌ์„ฑ ์š”์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” length๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋งŒ๋“ค์–ด์ง„๋‹ค.

๋ฐฐ์—ด a์˜ ๊ฐ ์š”์†Œ์˜ ์ž๋ฃŒํ˜•์€ int์ด๊ณ  ๋ฐฐ์—ด a์˜ ์ž๋ฃŒํ˜•์€ int[5] ์ด๋‹ค.

 

int[] a; // ์ž๋ฃŒํ˜•์ด int์ธ ๋ฐฐ์—ด a ์„ ์–ธ : ํ˜•์‹A 
		 // => intํ˜• ๋ฐฐ์—ด์ž„์„ ๋ช…ํ™•ํžˆ ์•Œ๋ ค์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํ›จ์”ฌ ๋งŽ์ด ์‚ฌ์šฉ๋จ
int a[]; // ์ž๋ฃŒํ˜•์ด int์ธ ๋ฐฐ์—ด a ์„ ์–ธ : ํ˜•์‹B

a = new int[5] // a๋Š” ๊ธธ์ด๊ฐ€ 5์ธ ๋ฐฐ์—ด์„ ์ฐธ์กฐ

int[] a = new int[5]; // ์„ ์–ธ๊ณผ ์ฐธ์กฐ๋ฅผ ํ•œ๋ฒˆ์—

int[] a = {1, 2, 3, 4, 5} // ๋ฐฐ์—ด ์ดˆ๊ธฐํ™”, ์ˆœ์„œ๋Œ€๋กœ ๋Œ€์ž…๋จ
int[] a = new int[] {1, 2, 3, 4, 5} // ์ข€๋” ๋ช…ํ™•ํ•˜๊ฒŒ ์„ ์–ธ

int b = a.length; // ๋ฐฐ์—ด ๊ธธ์ด๋ฅผ ๋ณ€์ˆ˜ b์— ์ €์žฅ

โ–ถ ๋ฐฐ์—ด ์„ ์–ธ์‹œ ๋””ํดํŠธ๊ฐ’

 

 

 

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

 

๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•  ๋•Œ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ ๊ฐ’๋งŒ์„ ๋ณต์‚ฌํ•˜๋Š” ์–•์€ ๋ณต์‚ฌ์™€, ๋ฐฐ์—ด์˜ ์‹ค์ œ ๊ฐ’์„ ๋ณต์‚ฌํ•˜๋Š” ๊นŠ์€ ๋ณต์‚ฌ๊ฐ€ ์žˆ๋‹ค.

์–•์€ ๋ณต์‚ฌ๋กœ ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•  ๊ฒฝ์šฐ ์‹ค์ œ๋กœ ํ•˜๋‚˜์˜ ์ฃผ์†Œ๊ฐ’์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜๋ฅผ ์ˆ˜์ •ํ•˜๋ฉด ๋‘๊ฐœ๊ฐ€ ๋‹ค ์ˆ˜์ •๋œ๋‹ค.

๊นŠ์€ ๋ณต์‚ฌ๋Š” clone() ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

int[] a = {1, 2, 3, 4, 5}; 	// ๋ฐฐ์—ด a ์ƒ์„ฑ
int[] b = a; 				// ๋ฐฐ์—ด b๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐฐ์—ด a ์–•์€ ๋ณต์‚ฌ
int[] c = a.clone(); 		// ๋ฐฐ์—ด c๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ฐฐ์—ด a ๊นŠ์€ ๋ณต์‚ฌ
		
b[3] = 0;
c[2] = 0;
		
System.out.print("a = ");
for(int i = 0; i < a.length; i++) {
	System.out.print(" " + a[i]);
}
		
System.out.print("\nb = ");
for(int i = 0; i < a.length; i++) {
	System.out.print(" " + b[i]);
}

System.out.print("\nc = ");
for(int i = 0; i < a.length; i++) {
	System.out.print(" " + c[i]);
}

 

a =  1 2 3 0 5
b =  1 2 3 0 5
c =  1 2 0 4 5

 

=> b[3]์„ 0 ์œผ๋กœ ์ˆ˜์ •ํ•˜์˜€๋Š”๋ฐ a[3]๋„ 0 ์œผ๋กœ ์ˆ˜์ •๋˜์—ˆ๋‹ค : ์–•์€ ๋ณต์‚ฌ

=> c[2]์„ 0 ์œผ๋กœ ์ˆ˜์ •ํ•˜์˜€์ง€๋งŒ a[2]๋Š” ์ˆ˜์ •๋˜์ง€ ์•Š์•˜๋‹ค : ๊นŠ์€ ๋ณต์‚ฌ