Search

배열

배열 (array)

같은 타입의 여러 변수를 하나의 묶음으로 다루는 것
같은 타입의 변수가 여러개 필요할 때 사용하면 유용
int [] score = new int[5]; // 5개의 int 값을 저장할 수 있는 배열 생성
Java

배열의 선언과 생성

배열의 선언

// 타입[] 변수이름; int[] score; String[] name; // 타입 변수이름[]; int score[]; String name[];
Java

배열의 생성

// 배열의 선언 int[] score; // 배열 생성 score = new int[5]; // 선언과 배열을 한줄로 int[] score = new int[5];
Java
배열의 각 요소들은 자동으로 각 타입의 디폴트값으로 초기화됨.

배열의 인덱스

배열의 요소(element) : 생성된 배열의 각 저장 공간
인덱스(index) : 배열의 요소마다 붙여진 일련번호 1이 아닌 0부터 시작!
// 길이가 5인 int 배열 int[] score = new int[5] // 배열 score의 4번째 요소에 100 저장 score[3] = 100; // 배열 score의 4번째 요소의 값을 읽어 value에 저장 int value = score[3]; // 인덱스에 변수나 수식도 사용 가능 for (int i=0; i<5; i++) { score[i] = i * 10; } int tmp = score [i+1];
Java
ArrayEx1.java

배열의 길이

배열의 길이 : 배열의 요수의 개수, 값을 저장할 수 있는 공간의 개수
// 길이가 5인 int 배열 int[] arr = new int[5];
Java
길이가 0인 배열도 생성 가능 → 유용하게 쓰일 곳이 있다!
int[] arr = new int[0];
Java

배열이름.length

배열 길이에 대한 정보를 얻는 방법
int[] arr = new int[5]; int tmp = arr.length; // tmp에 arr의 길이 값인 5가 저장됨.
Java
for 문의 조건식에 배열의 길이를 직접 적는 것보단 .length를 사용하는 것이 코드 관리나 에러 방지에 좋음.
int[] score = new int[5]; // 배열의 길이를 변경하더라도, 조건식을 변경할 필요가 없음. for (int i=0; int < score.length; i++) { System.out.println(score[i]); }
Java

배열의 길이 변경

한번 선언한 배열은 길이 변경이 불가 → 배열에 저장할 공간이 부족할 경우는 어떻게?
1. 더 큰 배열을 새로 생성 2. 기존 배열의 내용을 새로운 배열에 복사 → 비용이 많이 들고 까다로운 작업이므로, 애초에 넉넉히 2배 정도 길이로 잡아서 선언하자.

참고 자료