>Java >java지도 시간 >Java에서 2D 배열을 효과적으로 복사하는 방법: `clone()` 대 `System.arraycopy()`

Java에서 2D 배열을 효과적으로 복사하는 방법: `clone()` 대 `System.arraycopy()`

DDD
DDD원래의
2024-10-28 21:23:02211검색

How to Effectively Copy a 2D Array in Java: `clone()` vs. `System.arraycopy()`

Java에서 2D 배열을 복사하는 방법

Java에서 2D 배열을 복사하는 것은 까다로운 작업일 수 있습니다. 이를 수행하는 한 가지 방법은 루프를 사용하여 원래 배열의 각 요소를 새 배열로 수동으로 복사하는 것입니다. 그러나 이는 지루하고 오류가 발생하기 쉽습니다.

2D 배열을 복사하는 더 좋은 방법은 clone() 메서드나 System.arraycopy()를 사용하는 것입니다.

clone

clone() 메서드는 원본 배열의 복사본인 새 배열을 생성합니다. clone() 메서드를 사용하려면 다음을 수행할 수 있습니다.

<code class="java">int [][] myInt = new int[matrix.length][];
for(int i = 0; i < matrix.length; i++)
    myInt[i] = matrix[i].clone();
</code>

System.arraycopy() 사용

System.arraycopy() 메서드는 또 다른 방법입니다. 배열을 복사하는 방법. 다음 매개변수를 사용합니다:

  • 소스 배열
  • 소스 배열의 시작 인덱스
  • 대상 배열
  • 의 시작 인덱스 대상 배열
  • 복사할 요소 수

System.arraycopy()를 사용하여 2D 배열을 복사하려면 다음을 수행할 수 있습니다.

<code class="java">int [][] myInt = new int[matrix.length][];
for(int i = 0; i < matrix.length; i++)
{
  int[] aMatrix = matrix[i];
  int   aLength = aMatrix.length;
  myInt[i] = new int[aLength];
  System.arraycopy(aMatrix, 0, myInt[i], 0, aLength);
}</code>

clone() 메서드와 System.arraycopy()는 모두 2D 배열을 복사하는 효율적인 방법입니다. 그러나 System.arraycopy()는 일반적으로 더 빠르고 실수할 가능성이 적습니다.

위 내용은 Java에서 2D 배열을 효과적으로 복사하는 방법: `clone()` 대 `System.arraycopy()`의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.