System.arraycopy( )

2024. 10. 4. 10:43BackEnd/Java

728x90
반응형

한줄

 

 

What ?

System.arraycopy( )

- 배열의 특정 구간을 다른 배열로 복사할 때 사용되는 메서드입니다.

- System 클래스에 속하며, 빠르고 효율적으로 배열의 요소들을 복사할 수 있습니다.

 

 


 

How ? 

System.arraycopy(원본배열, 원본 배열의 복사 시작 지점, 대상배열, 대상 배열의 복사 시작 지점, 복사할 요소의 개수)

 

요소 명 설명
원본배열 복사할 데이터를 가지고 있는 배열 입니다.
원본 배열 복사 시작 지점 복사를 시작할 위치 입니다.
복사할 배열 복사된 데이터를 받을 배열 입니다.
복사할 배열 복사 시작 지점 대상 배열에서 복사한 데이터를 저장할 시작 인덱스 입니다.
복사할 요소의 개수 복사할 데이터의 길이

 

 


 

 

Example
public class Main {
    public static void main(String[] args) {
        int[] srcArray = {1, 2, 3, 4, 5};
        int[] destArray = new int[5];

        System.arraycopy(srcArray, 1, destArray, 0, 3);
        
        for (int i : destArray) {
            System.out.print(i + " ");
        }
    }
}
srcArray의 1번 인덱스부터 3개의 요소를 destArray의 0번 인덱스부터 복사합니다.

출력 값 :
2 3 4 0 0

 


 

주의사항

 

1.  복사할 범위가 잘못되면  ArrayIndexOutOfBoundsException 이 발생

 

2. 원본 배열(src)대상 배열(dest)이 동일한 타입입니다.

 

3. arraycopy()는 얕은 복사를 수행합니다.  배열 내의 객체들에 대한 참조만 복사되며, 객체 자체가 복사되지 않습니다. 

 

4. 원본 배열의 값을 변경했지만, 복사된 배열은 원래 값을 유지합니다. 그러나 참조 타입의 경우, 배열 내부의 객체가 공유될 수 있습니다.

 


 

728x90
반응형

'BackEnd > Java' 카테고리의 다른 글

removeIf()  (0) 2024.11.22
기타 제어자  (0) 2024.11.22
StringBuilder  (0) 2024.09.30
Java API  (0) 2024.09.23
JPA  (0) 2024.04.01