1. 배열
(1) 배열
- 같은 타입의 변수를 하나의 묶음으로 관리할 때 사용
- 한 변수 안에 여러 값을 저장하고자 할 때 사용
- 저장하려는 값의 자료형이 같아야 하나의 배열에 저장 가능
자료형[] 변수형 = new 자료형[배열크기];
(2) 배열의 선언
- 배열 참조 변수와 자료형, 크기를 선언
- 타입 뒤에 대괄호
[]
를 붙임
- 예시
// 크기가 10인 int형 student 배열을 선언
int[] student = new int[10];
// String 타입의 name배열을 선언
String[] name;
// 배열에 크기를 부여
name = new String[10];
// 배열의 크기를 변경
name = new String[6];
(3) 배열의 길이와 인덱스
- 인덱스 : 배열의 공간마다 붙여진 번호
- 배열의 각각의 공간은 순서대로 번호를 부여 받음
- 배열의 요소에 접근할 때는 배열의 이름과 인덱스를 사용
- 인덱스 번호는 0번부터 시작
변수이름[인덱스 번호] = 값;
int[] student = new int[10];
// Error
student = 10;
// 올바른 문장 : 0번 인덱스에 10을 대입
student[0] = 10;
(4) 배열의 초기화
- 배열에 요소를 넣지 않을시, 숫자 자료형은 0으로, 문자는 null로 초기화됨
1) 자료형 변수명 = new 자료형[] {값1, 값2, ..., 마지막값};
2) 자료형 변수명 = {값1, 값2, ...., 마지막값};
// int형 number 배열을 선언하고자 값을 초기화
int[] number = new int[] {1,2,3};
// char형 c 배열을 선언하고 값을 초기화
char[] c = {'a','b','c'};
// boolean형 check 배열을 선언
boolean[] check;
// boolean형 check 배열을 초기화
check = new boolean[] {true, false};
System.out.println(check[0]);
// boolean형 check 배열을 재초기화
check = new boolean[] {false, false, true};
System.out.println(check[0]);
2. 다차원 배열
(1) 다차원 배열
- 2차원 이상의 배열으로, 행과 열으로 이루어져 있음
- 차원을 추가할때는 괄호의 수를 늘림
자료형 변수명 = new 자료형[배열크기][배열크기];
int[][] arr1 = new int[][] {{1,2},{3,4}};
(2) 다차원 배열 예제
- 반복문 사용
- 배열명.length : 배열의 길이 확인
int[][] arr1 = new int[][]{{10},{20},{30},{40,41}};
int[][] arr2 = {
{100, 200, 300},
{400, 500, 600},
{700, 800, 900}
};
for(int i = 0; i < arr1.length; i++ ){
for(int j = 0; j < arr1[i].length; i++){
System.out.print(arr1[i][j]);
}
System.out.println();
}
for(int i = 0; i < arr2.length; i++ ){
for(int j = 0; j < arr2[i].length; i++){
System.out.print(arr2[i][j]);
}
System.out.println();
}
3. 배열 활용
(1) foreach문
- 반복가능객체 (문자열, 배열, 딕셔너리 등)에서 요소들을 순환하며 변수에 저장해서 사용
for(자료형 변수이름 : 배열이름){
실행구문
}
String[] arr = new String[] {"ab", "cd", "abc"};
int[] nums = new int[] {1,2,3,4};
for(int i = 0; i < arr.length; i++){
System.out.println(arr[i]);
}
for(String s : arr){
System.out.println(s);
}
for(int s : nums){
System.out.println(s);
}
(2) ArrayList
- 배열에서 발전된 형태의 List
- 요소를 추가하면 0번 인덱스부터 차례대로 요소가 저장됨
- 해당 요소는 객체가 저장
- 실행 도중에 배열의 크기를 변경할 수 있는 동적 배열
import java.util.ArrayList;
1) ArrayList<자료형클래스> 변수명 = new ArratList<>();
2) ArrayList 변수명 = new ArrayList();
- ArrayList 사용시 활용할 수 있는 메소드
- add(값) : 마지막 요소로 값을 추가
- add(인덱스, 값) : 인덱스 위치에 값을 추가
- clear() : 배열요소들을 초기화
- clone() : 배열을 복사
- size() : 배열의 크기를 반환
- contains(값) : 배열에 값이 존재하는지 검사
- get(인덱스) : 배열의 인덱스에 해당하는 요소를 반환
- insert(인덱스, 값) : 배열의 인덱스에 해당하는 위치에 해당값을 기입
- indexOf(값) : 해당 값이 존재하는 배열의 인덱스 위치를 반환
- remove(인덱스) : 해당 인덱스 위치의 값을 배열에서 제거
- set(인덱스, 값) : 해당 인덱스 위치의 값을 해당 값으로 변경
- sort() : 배열을 오름차순으로 정렬