Menu
CoddyTech

Metodi degli array

Fa parte della sezione Fondamenti del percorso Java di Coddy. Lezione 61 di 73.

La classe Arrays (di java.util) fornisce molti metodi di supporto per lavorare con gli array. Per chiamarne uno, scrivi:

Arrays.methodName(arrayName, otherParameters)

Ecco un elenco dei metodi di base:

  • fill(array, value) - riempie l'array con un valore specifico
  • toString() - converte l'array in una stringa
  • sort(array) - ordina l'array in ordine crescente
  • equals(array1, array2) - confronta due array per determinare se sono uguali

Ecco un esempio di come usare il metodo fill con toString:

int[] numbers = new int[5];
Arrays.fill(numbers, 10);
System.out.println(Arrays.toString(numbers));

Questo produrrà [10, 10, 10, 10, 10].

Esempio del metodo sort:

int[] numbers = {5, 2, 9, 1, 5, 6};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers));

Questo produrrà [1, 2, 5, 5, 6, 9].

challenge icon

Sfida

Facile

Crea un metodo chiamato merge che riceva due array come argomenti. Il metodo unisce i due array in un unico array ordinato e lo restituisce.

Importante: L'array risultante dall'unione deve essere ordinato in ordine crescente.

Per esempio, i seguenti argomenti: merge(new String[] {"1", "4", "2"}, new String[] {"2", "5", "9"}) restituiranno ["1", "2", "2", "4", "5", "9"] (nota che il risultato è ordinato)

Usa System.arraycopy() per copiare gli elementi da un array a un altro. La sintassi è: 

System.arraycopy(sourceArray, sourceStartPosition, destinationArray, destinationStartPosition, length)

System.arraycopy() copia solo in un array già esistente; non aumenta mai le dimensioni dell'array di destinazione. Crea prima l'array unito con arr1.length + arr2.length elementi, copia arr1 nella posizione 0, poi copia arr2 a partire dalla posizione arr1.length.

Per esempio:

// Source array
String[] sourceArray = {"1", "2", "3", "4", "5"};
        
// Destination array
String[] destinationArray = new String[5];
        
// Copy elements from sourceArray to destinationArray
System.arraycopy(sourceArray, 0, destinationArray, 0, 5);

Array di destinazione dopo la copia: 1 2 3 4 5

Provalo tu

import java.util.Arrays;
import java.util.Scanner;


public class Main {
    public static String[] merge(String[] arr1, String[] arr2) {
        // Scrivi il codice qui
        return null;
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String textArr1 = scanner.nextLine();
        String textArr2 = scanner.nextLine();
        String[] arr1 = textArr1.split(",");
        String[] arr2 = textArr2.split(",");

        String[] mergedArray = merge(arr1, arr2);
        System.out.println(Arrays.toString(mergedArray));
    }
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Java online