ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

(๊ตฌ)Java

04 Java ๋ฐฐ์—ด

yeahajeong 2019. 4. 29. 14:53
๋ฐ˜์‘ํ˜•

๋ฐฐ์—ด(Array)


๋ฐฐ์—ด์€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์œ ํ˜• ๋ณ€์ˆ˜๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์‚ฌ์šฉํ•  ๋•Œ

์—ฌ๋Ÿฌ๋ฒˆ ์„ ์–ธํ•ด์•ผํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

 

์ž๋ฐ”์˜ ๋ฐฐ์—ด๋„ ์ผ์ข…์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ์ทจ๊ธ‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์„ ์ •์˜ํ•˜๋Š” ๋Œ€๊ด„ํ˜ธ [ ] ๊ฐ€ ๋ฐฐ์—ด ๋ณ€์ˆ˜๋ช… ์•ž์— ์˜ค๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

๋ฐฐ์—ด ์„ ์–ธ ๋ฐฉ๋ฒ•

<๋ฐ์ดํ„ฐํƒ€์ž…><๋ฐฐ์—ด์ด๋ฆ„[ ]> or <๋ฐ์ดํ„ฐ ํƒ€์ž…[ ]><๋ฐฐ์—ด ์ด๋ฆ„>

๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ•

<๋ฐฐ์—ด์ด๋ฆ„> = new <๋ฐ์ดํ„ฐ ํƒ€์ž…[๋ฐฐ์—ด์˜ ํฌ๊ธฐ]>

 

 

-์ž๋ฐ”์˜ ๋ฐฐ์—ด์€ ์„ ์–ธ์‹œ์— ํฌ๊ธฐ๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์—†๊ณ  ์ƒ์„ฑ์‹œ ํฌ๊ธฐ๋ฅผ ๋ช…์‹œํ•œ๋‹ค.

-๋ฐฐ์—ด์€ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‚˜ ๊ฐ์ฒด ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋˜๋Š” ๋‹ค๋ฅธ ๋ฐฐ์—ด์˜ ์ˆœ์ฐจ์ ์ธ ์ง‘ํ•ฉ์ฒด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

-ํ•˜๋‚˜์˜ ๋ฐฐ์—ด์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐ์ดํ„ฐํ˜•์„ ํ˜ผํ•ฉํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฐ ๋ฐฐ์—ด์˜ ํŠน์ง•์„ ๋™์ข…๋ชจ์Œ(Homogeneous collection)์ด๋ผ ํ•œ๋‹ค.

-๋ฐฐ์—ด์€ ์„ ์–ธ, ์ƒ์„ฑ, ์ดˆ๊ธฐํ™”์˜ ๊ณผ์ •์„ ํ†ตํ•ด ๋งŒ๋“ค์–ด์ง„๋‹ค.

-์„ ์–ธ ์‹œ์—๋Š” ๋ฐฐ์—ด์— ๋“ค์–ด๊ฐˆ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฒฐ์ •ํ•˜๊ณ , ์ƒ์„ฑ ์‹œ ๋งŒ๋“ค ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

-์ดˆ๊ธฐํ™” ๊ณผ์ •์„ ํ†ตํ•ด ๋ฐฐ์—ด์— ๋“ค์–ด๊ฐˆ ๊ฐ’์„ ์ž…๋ ฅํ•œ๋‹ค.

-๋ฐฐ์—ด์˜ ๊ธธ์ด๋ž€ ๋ฐฐ์—ด์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ „์ฒด ํ•ญ๋ชฉ ์ˆ˜๋ฅผ ๋งํ•˜๋Š”๋ฐ ์ฝ”๋“œ์—์„œ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์–ป์œผ๋ ค๋ฉด '๋ฐฐ์—ด๋ณ€์ˆ˜์ด๋ฆ„.length' ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import java.util.Arrays;//๋ฐฐ์—ด์‚ฌ์šฉ์„ ์œ„ํ•ด import ํ•ด์ฃผ์–ด์•ผํ•จ
 
public class ArrayEx {
    
    public static void main(String[] args) {
        
        //1. ๋ฐฐ์—ด์˜ ์„ ์–ธ
        //int scores[]; C style
        //char letters[3]; //์ž๋ฐ”๋Š” ์„ ์–ธ์‹œ์— ํฌ๊ธฐ๋ฅผ ๋ช…์‹œํ•  ์ˆ˜ ์—†์Œ
        int[] scores;
        char[] letter;
        String[] sArr;
        
        //2. ๋ฐฐ์—ด์˜ ์ƒ์„ฑ - ๋ฐฐ์—ด์€ ์ƒ์„ฑ์‹œ์— ํฌ๊ธฐ๋ฅผ ๋ช…์‹œํ•จ.
        //ํ•œ ๋ฒˆ ์„ค์ •๋œ ํฌ๊ธฐ๋Š” ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€
        scores = new int[5]; //scores => [0][1][2][3][4]
        System.out.println(scores); // => ์ถœ๋ ฅํ•˜๋ฉด scores์˜ 0๋ฒˆ์งธ ์ฃผ์†Œ๊ฐ€ ์ €์žฅ๋˜๋Š”๊ฒƒ์„ ํ™•์ธ
        
        //3. ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™” - ๋ฐฐ์—ด์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณผ์ •
        scores[0= 1;
        scores[1= 2;
        scores[2= 3;
        scores[3= 6;
        scores[4= 10;
        
        //4. ๋ฐฐ์—ด์˜ ๊ฐ’ ์‚ฌ์šฉ - ์ธ๋ฑ์Šค๋ฅผ ์ด์šฉํ•ด ์‚ฌ์šฉ
        System.out.println("๋ฐฐ์—ด์˜ 2๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’ : " + scores[1]);
        scores[1= 100//๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
        System.out.println("๋ฐฐ์—ด์˜ 2๋ฒˆ์งธ ๋ฐ์ดํ„ฐ์˜ ๊ฐ’ : " + scores[1]);
        
        
        
        //์ค‘์š”!
        //๋ฐฐ์—ด์˜ ๋‚ด๋ถ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ๋ˆˆ์— ๋ฌธ์ž์—ด ํ˜•ํƒœ๋กœ ํ™•์ธํ•ด ๋ณด๋ ค๋ฉด 
        //Arrays.toString(๋ฐฐ์—ด๋ณ€์ˆ˜๋ช…)์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
        System.out.println(Arrays.toString(scores));
        
        //๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ์•„๋ณด๋ ค๋ฉด ๋ฐฐ์—ด๋ช….length ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
        System.out.println("๋ฐฐ์—ด์˜ ๊ธธ์ด : " + scores.length);
        
        //๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ์„ ๋™์‹œ์— ํ•˜๋Š” ๋ฐฉ๋ฒ•
        byte[] bArr = new byte[5];
        System.out.println(Arrays.toString(bArr)); //๋ฐฐ์—ด์˜ ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๋ณธ ํƒ€์ž…์œผ๋กœ ์ž๋™ ์ดˆ๊ธฐํ™” ๋œ๋‹ค(๋ฌธ์ž๋Š” null, ์ˆซ์ž๋Š” 0)
        
        //๋ฐฐ์—ด์˜ ์„ ์–ธ๊ณผ ์ƒ์„ฑ๊ณผ ์ดˆ๊ธฐํ™”๋ฅผ ๋™์‹œ์— ํ•˜๋Š” ๋ฐฉ๋ฒ•
        String[] names = {"ํ™""๊น€""์ด""๋ฐ•"};
        System.out.println(Arrays.toString(names));
        
        
        
        //ํฌ๊ธฐ๊ฐ€ 5์ธ charํ˜• ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  A, B, C, D, E ๋ฅผ ์ €์žฅํ•œ ํ›„ 3๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ F๋กœ ๋ณ€๊ฒฝ
        char[] alpa = {'A''B''C''D''E'};
        System.out.println(Arrays.toString(alpa));
        alpa[2= 'F';
        System.out.println(Arrays.toString(alpa));
    }
}
 
 
 
๋ฐ˜์‘ํ˜•
๋Œ“๊ธ€