logo

Метод Java System arraycopy().

Метод arraycopy() класу Java System повертає або копіює компоненти підпослідовності вказаного вихідного масиву, починаючи з указаної позиції (іменованої «srcPos») вихідного масиву (іменованої «src») до вказаної позиції (іменованої як «src»). 'destPos') масиву призначення (іменується 'dest'). Аргумент «довжина» означає кількість компонентів, які потрібно скопіювати.

Синтаксис

 public static void arraycopy (Object src, int srcPos, Object dest, int destPos, int length) 

Параметри

src - Вихідний масив (тип об'єкта)

реагувати на вбудований стиль

srcPos - Початкова позиція в вихідному масиві (цілочисельний тип)

почати - Масив призначення (тип об'єкта)

destpos - Початкова позиція в масиві призначення (цілочисельний тип)

довжина - Кількість елементів для копіювання (цілочисельний тип)

Повернення

  1. Якщо dest або src має значення null, виникає виняткова ситуація NullPointerException.
  2. Якщо аргументи src і dest посилаються на той самий об’єкт масиву, тоді копіювання компонентів розпочнеться з srcPos. Спочатку компоненти будуть скопійовані в тимчасовий масив, а потім у позицію destPos цільового масиву.
  3. Якщо будь-який аргумент типу int має від’ємне значення, тоді створюється виняткова ситуація IndexOutOfBoundsException.
  4. Якщо аргументи 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(&apos;Source array:&apos;); 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&lt;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[]= {&apos;A&apos;,&apos;B&apos;,&apos;B&apos;,&apos;H&apos;,&apos;A&apos;,&apos;M&apos;}; //source array String b[]= {&apos;S&apos;,&apos;H&apos;,&apos;U&apos;,&apos;N&apos;,&apos;U&apos;,&apos;L&apos;,&apos;L&apos;,&apos;J&apos;,&apos;A&apos;,&apos;D&apos;,&apos;O&apos;,&apos;N&apos;}; //destination array String src[],dest[]; int srcPos,destPos,length; src=a; srcPos=2; dest=b; destPos=3; length=4; System.out.print(&apos;Source array:&apos;); 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&lt;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[]= {&apos;A&apos;,&apos;B&apos;,&apos;B&apos;,&apos;H&apos;,&apos;A&apos;,&apos;M&apos;}; //source array String b[]= {&apos;S&apos;,&apos;H&apos;,&apos;U&apos;,&apos;N&apos;,&apos;U&apos;,&apos;L&apos;,&apos;L&apos;,&apos;J&apos;,&apos;A&apos;,&apos;D&apos;,&apos;O&apos;,&apos;N&apos;}; //destination array String src[],dest[]; int srcPos,destPos,length; src=a; srcPos=2; dest=b; destPos=3; length=4; System.out.print(&apos;Source array:&apos;); 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&lt;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++)>