No sweet without sweat

[자바/java] 효율적인 배열 복사 System.arrayCopy 본문

JAVA

[자바/java] 효율적인 배열 복사 System.arrayCopy

Remi 2022. 8. 20. 21:05
728x90
반응형

System.arrayCopy

원하는 부분만 복사할 수 있으며
가독성 측면에서도 효율적이며
불필요한 인스턴스 생성을 방지하여 메모리 자원 낭비를 예방하여 더 빠르게 실행할 수 있다.


System.arrayCopy (src, srcPos, dest, destPos, length);

 

src - 원본 배열
srcPos - 원본 배열의 복사 시작 위치
dest - 복사할 배열
destPost - 복사할 배열의 복사 시작 위치
length - 복사할 요소의 개수


public class 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);
		
		char [] result = new char[abc.length+num.length];
		System.out.println(result);
		
		System.arraycopy(abc, 0, result, 0, abc.length);
		System.out.println(result);
		System.arraycopy(num, 0, result, abc.length,num.length);
		System.out.println(result);
		
		System.arraycopy(abc, 0, num, 0, abc.length);
		System.out.println(num);
		
		System.arraycopy(abc, 0, num, 6, 3);
		System.out.println(num);	
	}
}

정답 :

ABCD
0123456789
 
ABCD
ABCD0123456789
ABCD456789
ABCD45ABC9

 

728x90
반응형
Comments