- PR -

多重配列のディープコピー方法

投稿者投稿内容
シュン
ぬし
会議室デビュー日: 2004/01/06
投稿数: 328
お住まい・勤務地: 東京都
投稿日時: 2004-06-15 14:21
ネタついでに。
配列オブジェクトはpublic clone()メソッドを持っていますので、こんなのもアリです。

コード:
public class Test{
	
 public static void main(String args[])throws Exception{
  int src[][]={{3,7,2},{1,6,8},{2,7,9},{1,1,6}};
		
  int dst[][] =(int[][])src.clone();
  for(int i = 0 ; i < dst.length;i++){
   dst[i] = (int[])src[i].clone();
  }
		
  dst[1][1] = 9999;
		
  for(int i = 0 ; i<src.length;i++){
   for(int j=0;j<src[i].length;j++){
    System.out.println("dst["+i+"]["+j+"]="+src[i][j]);
   }
  }
  for(int i = 0 ; i<dst.length;i++){
   for(int j=0;j<dst[i].length;j++){
    System.out.println("dst["+i+"]["+j+"]="+dst[i][j]);
   }
  }
 }
}

スキルアップ/キャリアアップ(JOB@IT)