2019.01.03
Javaプログラミング
配列のコピーを作る
ここでは、配列のコピー(複写)を作る方法を紹介します。
ここで紹介する方法は、コピー元の配列を引数として渡して、コピーされた配列を戻すメソッドです。
メソッドの中で、引数と同じ要素数の配列を新しく作成し、その新しい配列に元の配列の値を代入します。最後に新しい配列を戻します。
Javaソースコード
ArrayCopy.java
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032
public class ArrayCopy { // 配列をコピー作成するメソッド private static int[] array_copy( int[] srcary ) { // 元の配列srcaryの要素数でint配列desaryを作成 int[] desary = new int[ srcary.length ]; // 配列desaryにsrcaryの値を代入 for ( int i = 0; i < srcary.length; ++ i ) { desary[ i ] = srcary[ i ]; } // 作成した配列desaryを戻す return desary; } // メイン public static void main( String[] args ) { // 数値群 int[] src = { 1, 2, 4, 8, 16, 32, 64 }; // 新しく作成する配列(コピー先) int[] des; // 配列の値をコピー(srcの値をdesにコピー) des = array_copy( src ); // 結果を確認 for ( int i = 0; i < des.length; ++ i ) { System.out.println( des[ i ] ); } } }
コンパイル ソースコードが「ANSI」の場合
C:\talavax\javasample>javac -encoding sjis ArrayCopy.java
コンパイル ソースコードが「UTF-8」の場合
C:\talavax\javasample>javac ArrayCopy.java
実行
C:\talavax\javasample>java ArrayCopy
実行結果
1 2 4 8 16 32 64
ここから、ソースコードについて解説してきます。
002 003 004
// 配列をコピー作成するメソッド private static int[] array_copy( int[] srcary ) {
005 006
// 元の配列srcaryの要素数でint配列desaryを作成 int[] desary = new int[ srcary.length ];
008 009 010 011
// 配列desaryにsrcaryの値を代入 for ( int i = 0; i < srcary.length; ++ i ) { desary[ i ] = srcary[ i ]; }
013 014
// 作成した配列desaryを戻す return desary;
017 018 019 020 021 022 023 024 025 026 027 028 029 030 031
// メイン public static void main( String[] args ) { // 数値群 int[] src = { 1, 2, 4, 8, 16, 32, 64 }; // 新しく作成する配列(コピー先) int[] des; // 配列の値をコピー(srcの値をdesにコピー) des = array_copy( src ); // 結果を確認 for ( int i = 0; i < des.length; ++ i ) { System.out.println( des[ i ] ); } }
以上です。