반응형

# 배열 (array)

  • 정의 : '같은 타입' 의 여러 변수를 '하나의 묶음' 으로 다루는 것.
  • 인덱스 (index) : 배열의 '요소(저장공간)' 마다 붙여진 '일련번호' , 인덱스 범위는 '0부터 배열길이-1' 까지.
  • 배열의 길이 : 배열의 '요소(저장공간)의 개수' 를 의미. (int 범위의 양의 정수(0포함) 이어야 함)
  • 배열은 한 번 선언되고 나면 길이를 변경할 수 없다.

## 배열 선언방법

방법 1)
타입[] 변수이름;


방법 2)
타입 변수이름[];


다차원 배열)
타입[][] 변수이름;
타입 변수이름[][];
타입[] 변수이름[];

## 배열 생성방법

타입[] 변수이름;			// 배열 선언 (= 배열을 다루기 위한 '참조 변수' 선언)
변수이름 = new 타입[길이]	// 배열 생성 (실제 저장공간 생성)


다차원 배열)
타입[][] 변수이름 = new 타입[길이][길이];

## 배열의 길이 확인방법

배열이름.length		// 배열이름.length 는 상수로 읽기만 가능 (변경 불가)

## 배열의 길이 변경방법

  1. 더 큰 배열을 새로 생성
  2. 기존 배열의 내용을 새로운 배열에 복사

## 배열 복사방법

  • 방법1) for 문을 이용한 배열 복사.
int[] arr = new int[5];			// 기존 배열

int[] tmp = new int[arr.length*2];	// 기존 배열을 저장할 새 배열(기존 배열의 2배 길이)

for (int i = 0; i < arr.length; i++)
	tmp[i] = arr[i];		// arr[i] 값을 tmp[i] 에 저장.
    
arr = tmp;				// 참조변수 arr이 tmp를 가리키게 함.
  • 방법2) System.arraycopy() 를 이용한 배열 복사. (간단하고 빠르게 복사가능, 효율적)
System.arraycopy(arr, 0, tmp, 0, arr.length);

=>
arr[0] 에서 tmp[0] 으로 arr.length 개의 데이터를 복사.
반응형

'프로그래밍 > 자바, JDBC' 카테고리의 다른 글

컬렉션 프레임웍  (0) 2023.02.21
switch 문의 제약조건  (0) 2023.02.19
연산자와 피 연산자  (0) 2021.09.27
형 변환(캐스팅, casting)  (0) 2021.09.27
자바에서 자주 발생하는 에러와 해결방법  (0) 2021.09.23

+ Recent posts