logo

Java System arraycopy() metode

Java System klases metode arraycopy() atgriež vai kopē norādītā avota masīva apakšsecības komponentus, sākas norādītajā avota masīva (saukts par 'src') pozīcijā (saukts par'srcPos') uz norādīto pozīciju (saukts kā galamērķa masīva 'destPos') (saukts par 'dest'). Arguments “garums” attiecas uz kopējamo komponentu skaitu.

Sintakse

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

Parametri

src - avota masīvs (objekta tips)

mašīnmācība un veidi

srcPos - Sākuma pozīcija avota masīvā (vesela skaitļa veids)

sākt - Galamērķa masīvs (objekta tips)

destpos - Sākuma pozīcija mērķa masīvā (vesela skaitļa veids)

garums - Kopējamo elementu skaits (vesela skaitļa veids)

Atgriežas

  1. Ja dest vai src ir null, tad tiek izmests NullPointerException.
  2. Ja src un dest argumenti attiecas uz vienu un to pašu masīva objektu, tad komponentu kopēšana sāksies ar srcPos. Vispirms komponenti tiks kopēti pagaidu masīvā un pēc tam galamērķa masīva destPos pozīcijā.
  3. Ja kādam no int tipa argumentiem ir negatīva vērtība, tiek izmests IndexOutOfBoundsException.
  4. Ja argumenti src un dest attiecas uz objektu, kas nav masīvs, tiek izmests ArrayStoreException

1. piemērs

 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. piemērs

 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++)>