[JAVA] 배열복사 (System.arraycopy)

GyeongEun Kim·2021년 6월 15일
0

배열을 복사하는 방법은 두가지가 있다.

1. for문을 이용해 하나씩 복사하는 방법

2. System.arraycopy() 메서드 사용

첫번째 방법은 익숙한 방법이므로 생략하고 이번에는 System.arraycopy메서드에 대해 알아보겠다.

System.arraycopy(src,srcPos,dest,destPos,length)

src : 복사할 배열 이름
srcPos : 복사할 배열의 첫번째 위치
dest : 복사해서 붙여넣을 대상 배열 이름
destPos : 붙여넣기를 시작할 첫 번째 위치
length : src에서 dest로 자료를 복사할 요소의 갯수

예제로 아래의 bookArray1객체 배열을 bookArray2로 복사해보겠다.

Book [] bookArray1 = new Book[3];
Book [] bookArray2 = new Book[3];

bookArray1[0]= new Book("태백산맥","조정래");
bookArray1[1]= new Book("데미안","헤르만 헤세");
bookArray1[2]= new Book("어떻게 살 것인가","유시민");

System.arraycopy(bookArray1,0,bookArray2,0,3);

for (int i=0;i<bookArray2.length;i++) {
	bookArray2[i].showBookInfo();
    }
    
 /* 출력결과
 태백산맥, 조정래
 데미안, 헤르만 헤세
 어떻게 살 것인가, 유시민
 */

for문을 이용하는 것보다 쉽게 복사가 완료되었다

profile
내가 보려고 쓰는 글

0개의 댓글