22.04.11_자바_배열(2)

Saparian·2022년 4월 11일
0

오늘의배움

목록 보기
46/53

for 반복문에서 배열을 사용할때 팁!

  • for (int i=0; i < 배열.length; i++); {수행문}

배열.length을 사용하면 이후 배열의 길이가 바뀌게 될 때에도 반복문의 코드를 수정할 필요가 없다.

반복문의 길이

자바에서 배열을 사용할 때는 항상 배열의 길이를 설정해줘야한다.
공부하면서 배열 기존보다 길게 써야할 때는 어떻게해야하나 궁금증이 있었다.

방법은 생각보다 단순했다.

방법 1

  1. 길이가 더 긴 임의의 배열을 하나만든다. (기존 배열 : Arr, 임의의 배열 : tmp)
  2. 임의의 배열에 기존 배열의 요소를 복사한다. (tmp[i] = arr[i];)
  3. 기본 배열을 나타내는 참조변수에 임의의 배열을 초기화한다. (arr = tmp;)

방법 2

System.arraycopy 매서드를 이용하여 복사한다.

public static void main(String[] args) {
		char[] abc = {'A', 'B', 'C', 'D'};
		char[] num = {'0','1','2','3','4','5','6','7','8','9'};
		System.out.println(abc);
		System.out.println(num);
		
		// 배열 abc와 num을 붙여서 하나의 배열(result)로 만든다.
		char[] result = new char[abc.length+num.length];
		System.arraycopy(abc, 0, result, 0, abc.length);
		System.arraycopy(num, 0,  result, abc.length, num.length);
		System.out.println(result);
		
		// 배열 abc을 배열 num의 첫 번째 위치부터 배열 abc의 길이만큼 복사
		System.arraycopy(abc, 0, num, 0, abc.length);
		System.out.println(num);
		
		// number의 인덱스6 위치에 3개를 복사
		System.arraycopy(abc,  0, num, 6, 3);
		System.out.println(num);
	}	// main의 끝

결과값

ABCD
0123456789
ABCD0123456789
ABCD456789
ABCD45ABC9

0개의 댓글