스마트기기개발관련/안드로이드 개발

안드로이드 객체 복사 또는 배열복사 (자바 포함)

AlrepondTech 2020. 9. 19. 08:29
반응형

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

출처: http://www.androidside.com/bbs/board.php?bo_table=B49&wr_id=41121

안녕하세요,  

 

2개의 ArrayList를 복사할 수 있게 하는 방법이 궁금해서 문의합니다.

 

예를 들어 복사타켓 생성한 ArrayList를 복사대상인 ArrayList로 복사를 어떻게 해야하나요...

private ArrayList<String> 복사타켓 = new ArrayList<String>();

private ArrayList<String> 복사대상 = new ArrayList<String>();

 

 

// 복제타켓 배열에 String 추가 시작

for(int i = 0; i < 10; i++)

{

// String 생성

String path = new String();

         

array.add(path);

}

// 복제타켓 배열에 String 추가 종료

private ArrayList<String> 복사타켓 = new ArrayList<String>();

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Arrays.clone 메소드가 있습니다

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

clone 매서드는 객체 자체를 그대로 복사한 객체... 맞을겁니다.

그걸 형변환해서 바로 대입하시면 됩니다.

array2 = (객체형)array.clone();

아마.. 맞을거에요.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

자바 API문서 보시면 잘 나와있는데...
한글로 번역된 문서도 있고...

object클래스로 나오니 캐스팅 해서 넣으면 되겠네욤

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

해결 했습니다!!.댓글 달아주신 모두 너무나 감사합니다>!!!!!!!!!!ㅠㅠ

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

http://blog.naver.com/kimhw9999?Redirect=Log&logNo=90063724347

 

여기를 보시면 배열에 대해서 부분 복사와 clone에 대한 사용법이 나와있습니다^^

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

반응형

 

728x90

 

 

=================================

=================================

=================================

 


출처: http://blog.naver.com/kimhw9999?Redirect=Log&logNo=90063724347


/**
부분 배열 복사를 위한 System.arraycopy()
**/
public class ArrayCopyMain {
 public static void main(String[] args) {
  int[] source  = new int[]{5, 4, 6, 9, 7, 9};
  int[] target = {100, 200, 300, 400, 500, 600,700};
  //부분 배열 복사의 예
  System.arraycopy(source, 2, target, 3, 4);   //source의 2번부터 target의 3번을 시작으로 4개의 요소를 복사
  for(int i=0; i<target.length; i++) {
   System.out.println("target["+i+"]:" + target[i]);
  }
 } 
} 
/***
c:\javasrc\chap06>javac ArrayCopyMain.java
c:\javasrc\chap06>java ArrayCopyMain
target[0]:100
target[1]:200
target[2]:300
target[3]:6
target[4]:9
target[5]:7
target[6]:9
***/

 

 

=================================

=================================

=================================

 

 

 

/**
clone()을 이용한 메모리 차원의 배열복사
**/
public class ArrayCloneMain {
 public static void main(String[] args) {
  int[] source  = new int[]{5, 4, 6, 9, 7, 9};
  int[] target = (int[])source.clone();    //clone()을 이용한 메모리 복사
  for(int i=0; i<target.length; i++){
   System.out.println("target["+i+"] : " + target[i]);
  }
 } 
} 
/***
c:\javasrc\chap06>javac ArrayCloneMain.java
c:\javasrc\chap06>java ArrayCloneMain
target[0] : 5
target[1] : 4
target[2] : 6
target[3] : 9
target[4] : 7
target[5] : 9
***/

 

 

=================================

=================================

=================================

 

 

반응형