Java System クラスの arraycopy() メソッドは、指定されたソース配列のサブシーケンス コンポーネントを返すかコピーします。ソース配列 ('src' と呼ばれます) の指定された位置 ('srcPos' と呼ばれます) から指定された位置 ('srcPos' と呼ばれます) まで始まります。宛先配列 (「dest」と呼ばれる) の「destPos」)。 「length」引数は、コピーされるコンポーネントの数です。
構文
public static void arraycopy (Object src, int srcPos, Object dest, int destPos, int length)
パラメーター
送信元 - ソース配列(オブジェクト型)
BFSとDFS
ソース位置 ・ソース配列の開始位置(整数型)
始める - 宛先配列 (オブジェクトタイプ)
デストポス - コピー先配列の開始位置(整数型)
長さ ・ コピーする要素数(整数型)
戻り値
- dest または src が null の場合、NullPointerException がスローされます。
- src 引数と dest 引数が同じ配列オブジェクトを参照する場合、コンポーネントのコピーは srcPos から始まります。まずコンポーネントが一時配列にコピーされ、次に宛先配列の destPos の位置にコピーされます。
- int 型の引数のいずれかが負の値を持つ場合、IndexOutOfBoundsException がスローされます。
- src および dest 引数が配列ではないオブジェクトを参照している場合、ArrayStoreException がスローされます。
例1
public class SystemArraycopyExample1 { public static void main(String[] args) { int a[]= {1,2,3,4,3,2,1}; //source array int b[]= {5,6,7,8,7,6,5}; //destination array int src[],srcPos,dest[],destPos,length; src=a; srcPos=1; dest=b; destPos=2; length=4; System.out.print('Source array:'); for(int i=0;i<src.length;i++) {system.out.print(a[i]);} system.out.println(); system.out.print('destination array:'); for(int i="0;i<src.length;i++)" {system.out.print(b[i]);} system.out.println('source position:'+srcpos); system.out.println('destination position:'+destpos); system.out.println('length:'+length); system.arraycopy(src, srcpos, dest, destpos, length); use of arraycopy() method array after arraycopy()'); <b.length;i++) { system.out.print(b[i]); } < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> Source array:1234321 Destination array:5678765 Source Position:1 Destination Position:2 Length:4 Destination array after use of arraycopy() 5623435 </pre> <h2>Example 2</h2> <pre> public class SystemArraycopyExample2 { public static void main(String[] args) { String a[]= {'A','B','B','H','A','M'}; //source array String b[]= {'S','H','U','N','U','L','L','J','A','D','O','N'}; //destination array String src[],dest[]; int srcPos,destPos,length; src=a; srcPos=2; dest=b; destPos=3; length=4; System.out.print('Source array:'); for(int i=0;i<src.length;i++) {system.out.print(a[i]);} system.out.println(); system.out.print('destination array:'); for(int i="0;i<src.length;i++)" {system.out.print(b[i]);} system.out.println('source position:'+srcpos); system.out.println('destination position:'+destpos); system.out.println('length:'+length); system.arraycopy(src, srcpos, dest, destpos, length); use of arraycopy() method array after arraycopy()'); <b.length;i++) { system.out.print(b[i]); } < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> Source array:ABBHAM Destination array:SHUNUL Source Position:2 Destination Position:3 Length:4 Destination array after use of arraycopy() SHUBHAMJADON </pre> <br></src.length;i++)></pre></src.length;i++)>
例 2
public class SystemArraycopyExample2 { public static void main(String[] args) { String a[]= {'A','B','B','H','A','M'}; //source array String b[]= {'S','H','U','N','U','L','L','J','A','D','O','N'}; //destination array String src[],dest[]; int srcPos,destPos,length; src=a; srcPos=2; dest=b; destPos=3; length=4; System.out.print('Source array:'); for(int i=0;i<src.length;i++) {system.out.print(a[i]);} system.out.println(); system.out.print(\'destination array:\'); for(int i="0;i<src.length;i++)" {system.out.print(b[i]);} system.out.println(\'source position:\'+srcpos); system.out.println(\'destination position:\'+destpos); system.out.println(\'length:\'+length); system.arraycopy(src, srcpos, dest, destpos, length); use of arraycopy() method array after arraycopy()\'); <b.length;i++) { system.out.print(b[i]); } < pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre> Source array:ABBHAM Destination array:SHUNUL Source Position:2 Destination Position:3 Length:4 Destination array after use of arraycopy() SHUBHAMJADON </pre> <br></src.length;i++)>