Popolare un array in Java

Mohd Ebad Naqvi 12 ottobre 2023
  1. Usa { } per popolare un array in Java
  2. Usa il cicli for per popolare un array in Java
  3. Usa il metodo Arrays.copyOf() per riempire l’elemento in un array Java
  4. Usa il metodo Arrays.fill() per riempire gli elementi in un array Java
Popolare un array in Java

In base alla definizione dell’utente, l’array sarà primitivo oi riferimenti all’oggetto (o non primitivi) di una classe.

In un array di tipi di dati primitivi, gli elementi sono archiviati in una posizione di memoria contigua. Al contrario, in un tipo di dati non primitivo, gli elementi vengono archiviati nella memoria dinamica (segmento di heap).

In questo tutorial, compileremo un array in Java. Popolare qui significa riempire l’array con alcuni valori.

Usa { } per popolare un array in Java

È il metodo di base e uno dei più semplici per popolare un array. Le parentesi graffe {} vengono utilizzate per definire gli elementi di un array.

Per esempio,

import java.util.*;
public class Num {
  public static void main(String args[]) {
    int arr[] = {1, 3, 5, 7, 11}; // Declaration of elements using { }

    for (int j = 0; j < arr.length; j++) {
      System.out.print(array[j] + " ");
    }
  }
}

Produzione:

1 3 5 7 11

Usa il cicli for per popolare un array in Java

La classe Scanner viene utilizzata per scansionare gli elementi dell’array dall’utente. Eseguiamo un bucle fino a quando la lunghezza dell’utente e l’utilizzo dell’oggetto degli elementi della classe Scanner vengono inseriti in ogni iterazione.

Vedere il seguente codice.

import java.util.Scanner;
public class ArrayInputUsingLoop {
  public static void main(String[] args) {
    int number;
    Scanner obj = new Scanner(System.in);
    System.out.print("Total number of elements: ");
    number = obj.nextInt();
    int[] array = new int[20];
    System.out.println("Enter the elements of the array: ");
    for (int i = 0; i < number; i++) {
      array[i] = obj.nextInt(); // reads elements from the user
    }
    System.out.println("Array elements you entered are: ");
    for (int i = 0; i < number; i++) {
      System.out.println(array[i]);
    }
  }
}

Produzione:

Total number of elements: 5
Enter the elements of the array: 
5
4
3
2
1
Array elements you entered are: 
5
4
3
2
1

Usa il metodo Arrays.copyOf() per riempire l’elemento in un array Java

Il metodo Array.copyOf() appartiene alla classe java.util.Arrays. Questa funzione copia il particolare array e lo tronca con zeri o valori null se necessario per mantenere la lunghezza data dell’array di copia.

Ci saranno valori identici per tutti gli indici validi nell’array originale e copiato.

Per esempio,

import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    int[] array1 = new int[] {8, 9, 10, 11, 12};

    System.out.println("First array is:");
    for (int i = 0; i < array1.length; i++) {
      System.out.println(array1[i]);
    }

    int[] array2 = Arrays.copyOf(array1, 7);
    array2[5] = 6;
    array2[6] = 7;

    System.out.println("New array after copying elements is:");
    for (int i = 0; i < array2.length; i++) {
      System.out.println(array2[i]);
    }
  }
}

Produzione:

First array is:
8
9
10
11
12
New array after copying elements is:
8
9
10
11
12
6
7

Se la lunghezza supera l’array originale, gli elementi extra vengono compensati con il valore 0.

Per esempio,

import java.util.Arrays;

public class ArrayCopy {
  public static void main(String args[]) {
    int[] originalarray = new int[] {7, 8, 9};
    System.out.println("The Original Array is : \n");
    for (int i = 0; i < originalarray.length; i++) System.out.print(originalarray[i] + " ");

    int[] copyarray = Arrays.copyOf(originalarray, 5);

    System.out.print("\nNew Array copy of greater length is:\n");
    for (int i = 0; i < copyarray.length; i++) System.out.print(copyarray[i] + " ");
  }
}

Produzione:

The Original Array is : 
7 8 9 
New Array copy of greater length is:
7 8 9 0 0 

Usa il metodo Arrays.fill() per riempire gli elementi in un array Java

Il metodo Arrays.fill() appartiene alla classe java.util.Arrays.

Usando questo metodo, possiamo sostituire tutti gli elementi in un dato array con l’elemento appena inserito. Tutte le posizioni dell’array verranno sostituite o riempite dall’elemento di valore specificato.

Per esempio,

import java.util.Arrays;

public class ArrayFill {
  public static void main(String[] args) {
    int array[] = {6, 7, 8, 9, 10};

    Arrays.fill(array, 5);
    System.out.println(Arrays.toString(array));
  }
}

Produzione:

[5, 5, 5, 5, 5]

L’array originale può essere parzialmente riempito dai nuovi elementi specificando l’indice.

Per esempio,

import java.util.Arrays;

public class ArrayFill2 {
  public static void main(String[] args) {
    int array[] = {7, 8, 9, 10, 11};

    Arrays.fill(array, 2, 5, 0); // Replace elements from index 2 to index 4 by 0

    System.out.println(Arrays.toString(array));
  }
}

Produzione:

[7, 8, 0, 0, 0]

Articolo correlato - Java Array