CodeGym /Java блог /Случаен /Java System.arraycopy() метод
John Squirrels
Ниво
San Francisco

Java System.arraycopy() метод

Публикувано в групата

Какво представлява методът Java System.arraycopy()?

Методът java.lang.System.arraycopy() копира изходен масив в конкретна начална позиция до дестинация при даден индекс.
Този метод принадлежи към класа java.lang.System . Той копира съдържанието на подмасив с определена дължина от даден изходен масив в друг масив, наречен целеви масив. Изходният масив се нарича src, а целевият масив като dest . Броят на елементите се дава от аргумента len .

Декларация на метод Java System.arraycopy().

Декларацията на метода за метода java.lang.System.arraycopy() в класа java.lang е Howто следва:

public static void arraycopy(Object src, int srcIndex, Object dest, int destIndex, int len)

Параметри

Следват параметрите на метода arraycopy :
  1. src : Това е изходният масив.

  2. srcIndex : Това е началният индекс на изходния масив.

  3. dest : Това е целевият масив.

  4. destIndex : Това е началният индекс на целевия масив.

  5. len : Това е броят на елементите, които трябва да бъдат копирани от изходния масив в целевия масив.

Функционалност

Методът arraycopy копира данни от src , започвайки от srcIndex до srcIndex +( len - 1) елементи, към масива dest от destIndex до destIndex + ( len - 1).

Върната стойност

Методът arraycopy има тип връщане void , което означава, че не връща нищо.

Пример


public class Example {

    public static void main(String[] args) {

        String[] src = { "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
        String[] dest = { "January", "February", "March", "April", "May", "June", "July", "August"};
  
        int srcIndex = 2;
        int destIndex = 3;
        int len = 2;
        
        //print number of elements that need to be copied 
        //from the source to the destination array  
        System.out.println("len : " + len);
        
        //print source index
        System.out.println("srcIndex : " + srcIndex);
  
        //print elements of the source array
        System.out.print("src : ");
        for (int i = 0; i < src.length; i++)
            System.out.print(src[i] + " ");
        System.out.println("");
  
        //print destination index
        System.out.println("destIndex : " + destIndex); 
        
        //print elements of the destination array
        System.out.print("dest : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
        System.out.println("");
                
        // Use of arraycopy() method
        System.arraycopy(src, srcIndex, dest, destIndex, len); 
        // this method copies the 'len' no of elements 
        // from the src array to the dest array using the srcIndex
        // and destIndex as reference points in both the arrays
        
                        
        // Print elements of destination after  
        System.out.print("final destination array : ");
        for (int i = 0; i < dest.length; i++)
            System.out.print(dest[i] + " ");
    }
}

Изход

len : 2 srcIndex : 2 src : понеделник вторник сряда четвъртък петък събота неделя destIndex : 3 dest : януари февруари март април май юни юли август крайна дестинация масив : януари февруари март сряда четвъртък юни юли август

Пример за промяна на параметрите


// Example of changing parameters
         srcIndex = 4;
         destIndex = 5;
         len = 1;

Изход

len : 1 srcIndex : 4 src : понеделник вторник сряда четвъртък петък събота неделя destIndex : 5 dest : януари февруари март април май юни юли август крайна дестинация масив : януари февруари март април май петък юли август

Обяснение

В горния code дефинирахме два масива src[] и dest[] . След това сме дефинирали srcIndex и destIndex , за да дефинираме референтните позиции и за двата масива. В първия пример методът System.arraycopy копира елементите от изходния масив src[] , започващ от индекс 2 и завършващ на индекс 3 (тъй като len = 2), в целевия масив, започвайки от индекс 3. След това извежда крайния дестинационен масив след копиране на елементите. Във втория пример методът System.arraycopy копира 1 елемент (защото len = 1) от изходния масивsrc[] , започвайки от индекс 4, до целевия масив, започвайки от индекс 5, и също извежда крайния целеви масив след копиране на елементите.

Заключение

До края на тази публикация се надяваме, че сте се запознали с метода java.lang.System.arraycopy в Java. Продължете да практикувате за по-задълбочено владеене на концепцията. Дотогава продължавайте да растете и да блестите!
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION