참조 없는 객체의 자바스크립트 복사 배열

| | | | | | | | | | | | | | | | | | | | | |

Java에서 배열로 작업할 때 배열의 복사본을 만들기로 결정할 수 있습니다. 예를 들어 카페를 운영 중이고 계절 메뉴를 만들고 싶다면 새 메뉴의 기반이 되는 원본 메뉴의 복사본을 만들 수 있습니다.

자바에서는 복사할 수 있는 여러 가지 방법이 있습니다. 배열. 이 자습서에서는 테이블을 복사하는 4가지 일반적인 방법을 살펴보고 행별로 작동하는 방식에 대해 설명합니다. 이 튜토리얼을 읽고 나면 자바에서 테이블 복사의 대가가 될 것입니다.

자바 배열

자바에서 배열은 단일 값을 포함하는 값을 보유하는 컨테이너입니다. 유형. 예를 들어, 테이블은 책 목록이나 플레이어가 다트 게임에서 얻은 점수 목록을 저장하는 데 사용할 수 있습니다.

배열은 많은 값으로 작업하려는 경우에 유용합니다. 컬렉션에 저장할 수 있기 때문입니다. 이렇게 하면 코드를 압축하고 동일한 값에 대해 동일한 메서드를 동시에 실행할 수 있습니다.

Let we want라는 단어는 우리 커피숍에서 판매되는 커피를 저장하는 배열을 만들고 싶습니다. 다음 코드를 사용하여 수행할 수 있습니다.

String [] = coffees {"Espresso", "Mocha", "Latte", "cappuccino", "Versare Over", "Flat white" } ;

이 예에서는 문자열 값을 저장하는 cafes라는 배열을 선언합니다. 배열에는 6개의 값이 있습니다.

배열의 각 요소에는 배열의 개별 요소를 참조하는 데 사용할 수 있는 0부터 시작하는 인덱스 번호가 할당됩니다.

자바 배열의 기본을 살펴보았으므로 테이블의 내용을 복사하는 데 사용할 수 있는 방법에 대해 논의할 수 있습니다.

할당 연산자를 사용하여 배열 복사

배열을 복사하는 데 가장 일반적으로 사용되는 복제 방법 중 하나는 할당 연산자를 사용하는 것입니다.

할당 연산자는 배열에 값을 할당하는 데 사용됩니다. 할당 연산자를 사용하여 할당할 수 있습니다 기존 배열의 내용을 새 변수로 변경하면 기존 배열의 복사본이 생성됩니다.

커피숍으로 돌아가서 cafes<의 복사본을 생성한다고 가정해 보겠습니다. /code> 여름 커피 메뉴의 기반이 될 배열입니다. 이 코드를 사용하여 배열의 복사본을 만들 수 있습니다.

코드 반환:

에스프레소, 모카, 라떼, 카푸치노, 푸어 오버, 플랫 화이트,

내림차순 코드에서 분리합니다. CopyAssignment 클래스의 첫 번째 코드 줄에서 표준 카페 메뉴를 저장하는 cafes라는 배열을 선언합니다.

다음 줄에서 할당 연산자를 사용하여 할당합니다. cafes 값을 summer_coffees라는 새 배열로 변경합니다. 다음으로, 각 summer_coffees 배열 요소를 전달하고 콘솔에 출력하는 "for-each`" 루프를 만듭니다.

이 방법을 사용하면 다음과 같은 단점이 있습니다. 한 배열의 요소는 다른 배열도 변경되므로 summer_coffee 목록에서 Latte Summer Latte 값을 변경하면 커피 목록도 변경될 것입니다.

배열을 복사하는 루프

배열을 복사하기 위해 논의한 첫 번째 접근 방식 -. 할당 연산자를 사용하여 - copy Shallow라고 하는 것을 생성합니다. 이것은 우리가 기존 배열 객체를 새 객체에 할당했기 때문입니다. 즉, 객체를 변경할 때 둘 다 변경됩니다 - .

그러나 우리는 종종 깊은 복사본을 생성해야 합니다. 깊은 복사본은 기존 개체의 값을 복사하고 새 배열 개체를 만듭니다. 전체 복사본을 만들 때 새 항목을 편집할 수 있습니다. 원본에 영향을 주지 않는 테이블.

전체 복사본을 만드는 데 사용할 수 있는 한 가지 방법은 배열의 내용을 통해 루프를 만들고 새 배열을 만드는 것입니다.

우리가 summer_coffees라는 cafes 테이블의 전체 복사본을 만들고 싶습니다. summer_coffees의 내용을 수정하려는 의도이므로 이것은 완전한 복사본이어야 합니다. 여름에 제공할 새로운 커피를 반영하는 테이블입니다.

다음은 루프를 사용하여 깊은 카피를 만드는 데 사용할 코드입니다.

코드를 실행하면 출력은 다음과 같습니다.

[Espresso, Mocha, Latte, Cappuccino, Pour over, Flat White]

보다시피 우리 코드는 원래 배열의 복사본을 생성했습니다. 작동 방식을 단계별로 설명합니다.

  1. toString() 메서드가 포함된 java.util.Arrays를 가져오고 이를 사용하여 배열을 인쇄합니다. 예제 끝에 콘솔이 있습니다.
  1. 표준 메뉴에 커피 목록을 저장하는 cafes라는 배열을 선언합니다.
  2. 6개의 값을 저장할 수 있는 summer_coffees라는 배열을 초기화합니다.
  3. 루프를 사용하여 카페 목록의 각 항목을 반복합니다.
  4. 루프가 실행될 때마다 summer_coffees의 인덱스 i 값을 가진 요소는 카페의 코드 인덱스 값 <> i 요소에 할당됩니다.
  5. Arrays.toString()을 사용하여 summer_coffees를 문자열로 변환한 다음 복사한 항목이 있는 새 배열을 콘솔에 인쇄합니다.

Java copyOfRange() 메서드 사용

Java copyOfRange() 메서드를 사용하여 배열 .copyOfRange( )는 java.util.Arrays 클래스의 일부입니다. 다음은 copyOfRange() 메서드 구문입니다.

우리는 copyOfRange() 메서드의 구문을 분석할 것입니다.

  1. DataType 은 새로운 배열이 저장됩니다.
  2. newArray 는 새 배열의 이름입니다.
  3. oldArray 값이 ‚Äã인 배열 newArray 디렉토리에 복사하려고 합니다.
  4. indexPos 는 복사 작업이 oldArray에서 시작되어야 하는 위치입니다.
  5. 길이 oldArray newArray에서 복사해야 하는 값의 수입니다.
  6. < / ol>

    copyOfRange() 메서드가 실제로 작동하는지 설명하기 위해 예를 들어 보겠습니다. 이전의 cafes 배열의 복사본을 만들고 싶다고 가정합니다. 다음 코드를 사용하여 이를 수행할 수 있습니다.

    코드 반환:

    여름 커피: [에스프레소, 모카, 라떼, 카푸치노, 푸어 오버, 플랫 화이트]

    코드 분석:

    1. 우리는 copyOfRange() 메서드와 toString()을 저장하는 java.util.Arrays 라이브러리를 가져옵니다. 예제에서 사용할 것입니다.
    2. 표준 메뉴에 커피를 저장하는 cafes라는 배열을 선언합니다.
    3. summer_coffees 및 copyOfRange() 메서드를 사용하여 cafes 배열의 복사본을 만듭니다. 우리가 지정하는 매개변수는 다음과 같습니다.
      1. 카페 는 복사하려는 테이블의 이름입니다.
      2. 는 다음을 나타냅니다. 우리. 0 커피 테이블 의 인덱스 위치에서 시작하는 값을 복사하려고 합니다.
      3. coffees.length 는 각 값을 그만큼. list
      4. " 여름 커피:"를 인쇄합니다. 콘솔에서 summer_coffees라는 이름의 배열이 나옵니다.

      이제 라는 cafe 목록의 복사본을 만들었습니다. summer_coffees .

      Java Arraycopy() 메서드 사용

      Arraycopy() 메서드는 한 네트워크에서 다른 네트워크로 데이터를 복사하는 데 사용됩니다. arraycopy() 메서드는 시스템 클래스의 일부이며 기존 배열의 복사본을 사용자 정의할 수 있는 옵션 집합을 포함합니다.

      arraycopy() 메서드의 구문은 다음과 같습니다. br>

      System.arraycopy(sourceArray, StartingPos, newArray, newArrayStartingPos, length);

      이 Let down 메서드를 중단합니다. copyarray()는 5개의 매개변수를 사용합니다.

      • sourceArray 복사하려는 배열의 이름입니다.
      • startingPos. 은 값을 source_array에 복사하기 시작하려는 인덱스의 위치입니다.
      • newArray 는 이름입니다. 값이 복사될 새 배열의
      • newArrayStartingPos 는 복사된 값이 추가될 인덱스 위치입니다.
      • 길이 new_array 디렉토리에 복사하려는 요소의 수입니다.

      커피숍으로 돌아가기. cafes 배열의 각 값을 summer_coffees라는 새 배열로 복사한다고 가정합니다. 다음 코드를 사용하여 이를 수행할 수 있습니다.

      코드 반환:

여름 커피: [에스프레소, 모카, 라떼, 카푸치노, 푸어오버, 플랫 화이트]

코드를 단계별로 분석 -단계:

  1. 프로그램 시작 시 패키지 java.util.Arrays를 가져옵니다. 여기에는 프로그램 끝에서 생성한 배열의 복사본을 인쇄하는 데 사용할 toString() 메서드가 포함됩니다.
  2. 표준 메뉴에 커피를 저장하는 coffe es라는 배열을 선언합니다.
  3. summer_coffees라는 배열을 초기화합니다. 여기에는 6개의 값이 포함됩니다.
  4. arraycopy()를 사용하여 cafes 배열의 복사본을 만듭니다. 다음은 우리가 지정하는 매개변수입니다.
    1. cafes 는 복사하려는 배열입니다.
    2. 에서 복사를 시작하려는 위치입니다. cafes 배열.
    3. summer_coffees 는 복사된 값을 추가하려는 배열입니다.
    4. strong>은 복사된 값이 summer_coffees 배열에 추가되기 시작하려는 위치입니다.
    5. coffees.length 는 배열의 수입니다. 복사하려는 요소. 이 경우 coffees.length를 사용하면 cafes 목록에서 각 항목을 복사할 수 있습니다.
    6. 인쇄합니다. "여름 커피:"라는 메시지, 우리가 만든 여름 커피 목록이 이어집니다.
    7. 결론

      배열 복사는 다음으로 작업할 때 일반적인 작업입니다. 기울기. 이 튜토리얼은 자바에서 배열을 복사할 수 있는 네 가지 방법을 탐구했습니다.

      먼저 할당 연산자를 사용하여 얕은 복사 깊이를 만드는 방법에 대해 논의했으므로 다음을 사용하여 전체 복사 복사본을 만드는 방법에 대해 설명했습니다. <코드> 루프. 그래서 copyOfRange() 메서드를 사용하여 배열의 복사본을 만드는 방법과 arraycopy() 시스템 메서드를 사용하여 배열을 복사하는 방법을 살펴보았습니다.

      이제 Java에서 배열 복사를 시작할 준비가 되었습니다. 하나로!프로