배열의 복사

Developer/Java 2012. 7. 4. 12:18
배열을 한번생성하면 배열의 크기를 변경할수없다. 따라서 더 많은 저장공간이 필요할시에는 크기가 큰 새로운배열을 생성하고, 이전 배열로부터 내용을 복사해야한다. 이와같이 배열의 확장이 필요할때 배열의복사를 이용한다.

방법1) for문등을 사용하여 배열의 요소를 하나하나 복사한다. 


방법2) System클래스의 arraycopy()를 사용한다.
System클래스의 arraycopy()를 사용하면 보다 간단히 배열을 복사할수있다. arraycopy()는 배열에 저장되어있는 값만 복사하기때문에 참조변수 배열인경우에는 단지 주소값만 복사할 뿐 참조변수가 가리키고있는 객체는 복사하지 않는다.

Ex) beforeArr배열과 afterArr이 존재한다고 가정할때

System.out.arraycopy(beforeArr, 0, afterArr, 0, beforeArr.length);

  =>  beforeArr[0]부터 beforeArr.length개의 데이터를 afterArr배열의 0번째요소부터 차례대로 복사한다.
  cf) 복사하려는 배열의 위치가 적절하지 못하여 여유공간이 적을경우 ArrayIndexOutOfBoundsException이 발생 
 

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

HashMap value를 정렬하는 방법  (0) 2012.07.18
Java GUI - JOptionPane  (0) 2012.07.12
클래스변수, 클래스메서드  (0) 2012.07.04
Java의 기본  (0) 2012.07.04
접근제어 지시자  (0) 2012.07.04
Posted by No names
,