본문 바로가기
공부 자료/Java

배열 복사와 for문

by 미노킴 2022. 11. 10.

배열

배열은 길이를 변경할 수 없다. 배열의 길이를 늘리고 싶을 땐 더 긴 배열을 만들고 기존 배열을 복사해서 넣어야 한다. 배열은 for문을 이용하거나 System.arraycopy 메소드를 이용하여 복사할 수 있다. 배열을 복사하는 메소드는 다음과 같다.

 

 

System.arraycopy(Object1, int1, Object2, int2, int3);
System.arraycopy(arr1, 0, arr2, 0, arr.length);

 

 

System.arraycopy은 Object1의 항목을 int1 인덱스부터 int3만큼 복사하여 Object2의 int2 인덱스부터 붙여넣는다는 의미이다. 두번째 줄은 arr1의 모든 배열을 arr2로 복사하는 코드이다.

 

 

 

배열과 for문

자바는 for문에 배열을 넣고 쓸 때 아래와 같이 쓸 수 있다.

 

 

for ( 타입변수 : 배열 ) {
	실행문;
}

 

 

위 for문의 실행 흐름은 이렇다.

 

1. for문이 처음 실행될 때 '배열'에서 가져올 첫 번째 값이 존재하는지 평가한다.

2. 가져올 값이 존재하면 해당 값을 '타입변수'에 저장한다.

3. 실행문을 실행한다.

4. 실행문이 모두 실행되면 다시 루프를 돌아 배열에서 가져올 다음 값이 존재하는지 평가한다.

5. 만약 다음 항목이 존재하면 2,3,4를 다시 진행하고, 가져올 값이 없으면 for문이 종료된다.

 

따라서 위 for문의 반복 횟수는 배열의 항목 수가 된다. 

 

아래는 실제 활용 예시이다.

 

 

int max = 0;
int[] array = { 1, 5, 3, 8, 2};

for(int num : array){
    if (num >max) {
        max = num;
    }
}

 

'공부 자료 > Java' 카테고리의 다른 글

[Java] 배열을 리스트로 변환하기 / 리스트를 배열로 변환하기  (0) 2022.11.11
열거 타입(enum)  (0) 2022.11.10
참조 타입과 메모리 영역  (0) 2022.11.10
논리연산자  (0) 2022.11.08
삼항연산자  (0) 2022.11.08