본문 바로가기

자바

배열

배열을 사용하는 이유

- 동일한 타입의 변수를 여러 개 사용한다면?

    - 변수의 수 증가

    - 코드의 길이 증가

    - 반복문 적용 불가

    - 변수의 수가 동적으로 결정될 경우, 사용 불가

- 배열(Array)로 동일 타입 변수 묶어서 사용하기

    - 배열: 동일한 타입의 데이터 0개 이상을 하나의 연속된 메모리 공간에서 관리하는 것

    - 요소에 접근하는 속도가 매우 빠름

    - 한번 생성하면 크기 변경 불가

 

배열의 생성과 초기화

- 생성

    - new keyword와 함께 저장하려는 데이터 타입 및 크기 지정: new data_type[length]

    - new int[3]; // int 타입의 자료 3개를 저장할 수 있는 배열을 메모리에 생성

    - points = new int[3]; // 생성된 배열을 points라는 변수에 할당

    - points는 메모리에 있는 배열을 가리키는 reference 타입 변수

- 배열 요소 초기화

    - 배열의 생성과 동시에 저장 대상 자료형에 대한 기본값으로  default 초기화 진행

String arg="ABCD";
char[] chars = new char[org.length()];

for(int i=0; i<chars.length; i++){
	chars[i] = org.charAt(i);
}

for(int i=0; i<chars.length; i++{
	System.out.println(chars[i]);
}

//API 사용한 경우
chars = org.toCharArray();
for(int i=0; i<chars.length; i++){
	System.out.println(chars[i]);
}
String org="123456789";
char[] nums = org.toCharArray();
int sum=0;
for(int i=0; i<nums.length; i++){
	sum += nums[i] - '0';	
}
System.out.println("sum: %d%n", sum);

 

Array 만들기

- 생성과 동시에 할당한 값으로 초기화

int[] b = new int[]{1, 2, 3, 4, 5};

int[] c = {1, 2, 3, 4, 5};

 

- 선언과 생성을 따로 처리할 경우 초기화 주의

// 컴파일 오류

int[] points;

points = {1, 2, 3, 4, 5};

// 선언할 때는 배열의 크기를 알 수 없을 때

int[] points;

points = new int[]{1, 2, 3, 4, 5};

 

- {}를 통한 배열 생성은 변수 선언과 동시에 진행되어야 함

- 배열은 최초 메모리 할당 이후, 변경 불가

- 개별 요소는 다른 값으로 변경이 가능하나, 요소를 추가하거나 삭제할 수는 없음.

 

api 제공하는 배열 복사 method

int[] temp = new int[]{1, 2, 3, 4, 5};
int[] temp1 = Arrays.copyOf(temp, 5);	
int[] temp2 = System.arraycopy(temp, 0, temp2, 0, temp.length);

 

'자바' 카테고리의 다른 글

자바 면접 질문  (0) 2023.06.19
자바 버전 정리  (0) 2023.06.14
JAVA 기본  (0) 2022.07.26