자바 배열 정의
연속된 동일한 타입의 변수를 연속된 메모리 공간에 할당하고, 각 데이터에 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]);
}
//변수 선언 후 java.util.Arrays객체를 이용하여 특정 값으로 초기화
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 = {7, 5, 9};
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();
for(int innerValue : iArray3) {
System.out.print(innerValue + ", ");
}
|
결과)
5,5,5,
정렬하기 전 : 7, 5, 9,
정렬 후 : 5, 7, 9,
5, 1, 9,
5, 1, 9,