Método System.arraycopy() en Java con ejemplos

La clase del sistema en Java es parte del paquete lang y viene con muchos campos y métodos diferentes, y System.arraycopy() se encuentra entre los 28 métodos. Copia la array de origen de un valor de índice específico y la pega en otra array de la misma longitud o de diferentes longitudes, no importa y la copia hasta una cierta longitud que también depende de nosotros decidir. Dada una array de longitud fija. La tarea es agregar un nuevo elemento en un índice específico de la array.

--> java.lang Package 
    --> System Class
        --> arraycopy() Method

Sintaxis: 

public static void arraycopy(Object Source, int sourceStartIndex, 
                             Object Destination, int DestinationStartIndex, int size)

Parámetros: 

  • Fuente: Esta es la array desde la cual se copiarán los elementos.
  • sourceStartIndex: esta es la posición de inicio de la fuente.
  • Destino: Esta es la array a la que se supone que se copiarán los elementos.
  • DestinationStartIndex: Esta es la posición de inicio de destino.
  • tamaño: El número de elementos a copiar.

Ilustración 

Input: arr[] = { 1, 2, 3, 4, 5 }, index = 2,  element = 6
Output: arr[] = { 1, 2, 6, 3, 4, 5 }

Input: arr[] = { 4, 5, 9, 8, 1 }, index = 3, element = 3
Output: arr[] = { 4, 5, 3)

Acercarse:

  1. Obtener la array y el índice – p
  2. Cree una nueva array de tamaño uno más que el tamaño de la array original.
  3. Copie los elementos desde el inicio hasta el índice de la array original a la otra array usando System.arraycopy().
  4. En p, agregue el nuevo elemento en la nueva array que tiene el tamaño de 1 más que la array real
  5. Copie los elementos de p de la array original y péguelos desde el índice p+1 en la nueva array hasta el final usando System.arraycopy().
  6. Imprimir la nueva array

A continuación se muestra la implementación del enfoque anterior.

Java

// Java Program to Illustrate arraycopy() Method
// of System class
 
// Importing required classes
import java.lang.System;
import java.util.Arrays;
import java.util.Scanner;
 
// Class
public class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
        // Original Array
        int[] A = { 1, 2, 3, 4, 5, 6 };
        System.out.print("Original Array : ");
        System.out.print(Arrays.toString(A));
 
        // size of the index
        int n = A.length;
 
        // Index at which the element be added
        int p = 2;
 
        // element that needs to be added
        int x = 10;
 
        // new Array of size +1
        // of the original array
        int[] B = new int[n + 1];
 
        // Copy the elements from starting till index
        // from original array to the other array
        System.arraycopy(A, 0, B, 0, p);
 
        // Copy the elements from p till
        // end from original array
        // and paste it into the new array on p+1 index
        System.arraycopy(A, p, B, p + 1, n - p);
 
        // putting the element x on the
        // index p of the new array
        B[p] = x;
 
        // Printing the new Array
        System.out.println();
        System.out.print("New Array : "
                         + Arrays.toString(B));
    }
}
Producción

Original Array : [1, 2, 3, 4, 5, 6]
New Array : [1, 2, 10, 3, 4, 5, 6]

Publicación traducida automáticamente

Artículo escrito por ateevduggal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *