CodeGym/Java Blog/무작위의/자바 System.arraycopy() 메서드
John Squirrels
레벨 41
San Francisco

자바 System.arraycopy() 메서드

무작위의 그룹에 게시되었습니다
회원

Java System.arraycopy() 메소드란 무엇입니까?

java.lang.System.arraycopy() 메서드는 특정 시작 위치의 소스 배열을 지정된 인덱스의 대상으로 복사합니다.
이 메소드는 java.lang.System 클래스 에 속합니다 . 지정된 소스 배열에서 대상 배열이라는 다른 배열로 지정된 길이 의 하위 배열 내용을 복사합니다 . 소스 배열은 src 라고 하고 대상 배열은 dest 라고 합니다 . 요소의 수는 len 인수로 지정됩니다.

Java System.arraycopy() 메서드 선언

java.lang 클래스의 java.lang.System.arraycopy() 메서드 에 대한 메서드 선언은 다음과 같습니다.
public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)

매개변수

다음은 arraycopy 메서드 의 매개변수입니다 .
  1. src : 소스 배열입니다.

  2. srcIndex : 소스 배열의 시작 인덱스입니다.

  3. dest : 대상 배열입니다.

  4. destIndex : 대상 배열의 시작 인덱스입니다.

  5. len : 원본 배열에서 대상 배열로 복사해야 하는 요소의 수입니다.

기능

arraycopy 메서드는 srcIndex 에서 시작하여 srcIndex +( len - 1) 요소 까지 src에서 데이터를 destIndex 에서 destIndex + ( len - 1) 까지 dest 배열로 복사합니다 .

반환 값

arraycopy 메소드는 아무것도 리턴하지 않는다는 것을 의미하는 void 리턴 유형을 집니다 .

public class Example {

    public static void main(String[] args) {

        String[] src = { "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        String[] dest = { "January", "February", "March", "April", "May", "June", "July", "August"};

        int srcIndex = 2;
        int destIndex = 3;
        int len = 2;

        //print number of elements that need to be copied
        //from the source to the destination array
        System.out.println("len : " + len);

        //print source index
        System.out.println("srcIndex : " + srcIndex);

        //print elements of the source array
        System.out.print("src : ");
        for (int i = 0; i < src.length; i++)
            System.out.print(src[i] + " ");
        System.out.println("");

        //print destination index
        System.out.println("destIndex : " + destIndex);

        //print elements of the destination array
        System.out.print("dest : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
        System.out.println("");

        // Use of arraycopy() method
        System.arraycopy(src, srcIndex, dest, destIndex, len);
        // this method copies the 'len' no of elements
        // from the src array to the dest array using the srcIndex
        // and destIndex as reference points in both the arrays


        // Print elements of destination after
        System.out.print("final destination array : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
    }
}

산출

len : 2 srcIndex : 2 src : 월요일 화요일 수요일 목요일 금요일 토요일 일요일 destIndex : 3 dest : 1월 2월 3월 4월 5월 6월 7월 8월 최종 목적지 배열 : 1월 2월 3월 수요일 목요일 6월 7월 8월

파라미터 변경 예

// Example of changing parameters
         srcIndex = 4;
         destIndex = 5;
         len = 1;

산출

len : 1 srcIndex : 4 src : 월요일 화요일 수요일 목요일 금요일 토요일 일요일 destIndex : 5 dest : 1월 2월 3월 4월 5월 6월 7월 8월 최종 목적지 배열 : 1월 2월 3월 4월 5월 7월 8월

설명

위의 코드에서 두 개의 배열 src[]dest[] 를 정의했습니다 . 그런 다음 두 어레이의 참조 위치를 정의하기 위해 srcIndexdestIndex를 정의했습니다 . 첫 번째 예에서 System.arraycopy 메서드는 인덱스 2에서 시작하여 인덱스 3에서 끝나는 소스 배열 src[] 요소 ( len = 2이므로)를 인덱스 3에서 시작하는 대상 배열로 복사합니다. 그런 다음 다음을 출력합니다. 요소를 복사한 후 최종 대상 배열입니다. 두 번째 예에서 System.arraycopy 메서드 소스 배열에서 1개의 요소( len = 1이기 때문에)를 복사합니다.src[] , 인덱스 4부터 대상 배열, 인덱스 5부터 시작하여 요소 복사 후 최종 대상 배열도 출력합니다.

결론

이 게시물이 끝날 때까지 Java의 java.lang.System.arraycopy 메서드 에 익숙해졌기를 바랍니다 . 개념의 더 깊은 명령을 위해 계속 연습하십시오. 그때까지 계속 성장하고 계속 빛나십시오!
코멘트
  • 인기
  • 신규
  • 이전
코멘트를 남기려면 로그인 해야 합니다
이 페이지에는 아직 코멘트가 없습니다