본문으로 바로가기

자바 배열 정의

 

연속된 동일한 타입의 변수를 연속된 메모리 공간에 할당하고, 데이터에 index 부여하여 접근할 있게 하는 객체이다.

다수의 변수를 지정하지 않고 관리할 있어 개발이 간결해지고 가독성이 좋다.

 

 

1. 기본 사용법

 

코드)

1
2
3
4
5
6
7
8
9
10
//배열 선언
int[] iArray;        
int iArray2[];
 
//배열크기를 지정하여 선언
String[] sArray = new String[5];
String sArray2[] = new String[5];
 
//값을 지정하여 선언
char[] cArray = {'A''B''C'};
 

 

배열도 객체이기 때문에 new연산자를 이용하여 사용하거나(크기를 지정해야함), 혹은 값을 지정하여 선언할 있다.

배열은 new혹은 값을 지정하여 선언하면 크기만큼 index 부여되며 인덱스 번호를 이용하여 저장된 값들을 사용할 있다.

 

코드)

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
//배열크기를 지정하여 선언 후 반복문을 이용하여 값 대입
String[] sArray = new String[5];
        
for(int i=0; i < sArray.length; i++) {
    sArray[i] = "test" + i;
}
 
for(int i=0; i < sArray.length; i++) {
    System.out.println(sArray[i]);
}
 
        
//값을 지정하여 선언
char[] cArray = {'A''B''C'};
 
for(int i=0; i < cArray.length; i++) {
    System.out.println(cArray[i]);
}
 
int[] iArray = new int[5];
 
 
for(int i=0; i < iArray.length; i++) {
    System.out.println(iArray[i]);
}
 
 

 

 

 

결과)

test0
test1
test2
test3
test4

A
B
C

3
3
3
3
3

 

 

 

2. Arrays.util을 이용한 다양한 기능

 

Arrays라는 배열 Util객체를 사용하여 다양한 기능을 사용할 있다

 

코드)

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
int[] iArray = new int[3];
    
 
for(int innerValue : iArray) {
    System.out.print(innerValue + ",");
}
 
System.out.println();
 
int[] iArray2 = {759};
System.out.print("정렬하기 전 : ");
for(int innerValue : iArray2) {
    System.out.print(innerValue + ", ");
}
 
System.out.println();
 
 
System.out.print("정렬 후 : ");
for(int innerValue : iArray2) {
    System.out.print(innerValue + ", ");
}
 
System.out.println();
 
//Arrays.binarySearch를 이용하여 저장된 값의 index를 가져올 수 있다.(반드시 정렬되어 있는 배열값 이어야 한다.)
int index = Arrays.binarySearch(iArray2, 7);
 
iArray2[index] = 1;
 
for(int innerValue : iArray2) {
    System.out.print(innerValue + ", ");
}
 
System.out.println();
 
int[] iArray3 = Arrays.copyOf(iArray2, 3);
 
for(int innerValue : iArray3) {
    System.out.print(innerValue + ", ");
}
 
 

 

 

결과)

5,5,5,

정렬하기 전 : 7, 5, 9,

정렬 후 : 5, 7, 9,

5, 1, 9,

5, 1, 9,