Menu
Coddy logo textTech

Metodi degli array

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

Gli array sono dotati di molti metodi (funzionalità). Per accedere a un metodo, 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 riceve due array come argomenti. Il metodo unisce i due array in un unico array ordinato e lo restituisce.

Importante: L'array unito finale 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 che esiste già; non aumenta mai la dimensione dell'array di destinazione. Crea prima l'array unito con arr1.length + arr2.length posizioni, copia arr1 alla posizione 0, quindi 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