Introduzione alle matrici 3D in Java

Prima di comprendere gli array 3D in Java, dovremmo sapere cos'è l'array e perché viene utilizzato nei linguaggi di programmazione? Le matrici sono fondamentalmente un gruppo di tipo simile di valori a cui si fa riferimento con lo stesso nome. Per tipo simile, intendiamo i valori dello stesso tipo di dati. Considera una situazione in cui vogliamo memorizzare i nomi di tutti gli studenti di una classe. Poiché il nome di Studente è di tipo String, ma sarebbe errato memorizzare il nome di ogni studente in una variabile diversa poiché non solo occuperebbe molto spazio ma crea confusione anche in un programma aumentando quasi lo stesso righe di codice. Quindi, per gestire questo tipo di situazioni, vengono utilizzate le matrici. Il programmatore può creare un array di Student_names e specificarne la dimensione al momento della creazione dell'oggetto array. In questo modo, non sarebbe necessario specificare il nome della variabile per ciascun nome di studente e ogni volta che vogliamo aggiornare, inserire e recuperare i valori, è possibile utilizzare gli indici di questo array.

In Java, una variabile di matrice viene dichiarata simile alle altre variabili con il segno () dopo il tipo di dati. La dimensione dell'array deve essere definita al momento della creazione dell'array e rimane costante. Gli indici numerici sono accessibili dagli indici numerici con il primo elemento memorizzato su 0 indici. Esistono fondamentalmente due tipi di array in Java, ovvero array monodimensionali e multidimensionali. Le matrici 3D rientrano nella categoria delle matrici multidimensionali. Le matrici multidimensionali in parole semplici possono essere definite come una matrice di matrici e le matrici 3D sono una matrice di matrici 2D. Il 3D è una forma complessa di array multidimensionali. Considera uno scenario di Appartamenti in un edificio. Supponiamo che ci siano 10 piani nell'appartamento e ogni piano ha 5 appartamenti e ogni appartamento ha 3 camere. Per gestire questi dati durante la programmazione, vengono utilizzate matrici 3D.

Come vengono definiti gli array 3D in Java?

Java utilizza un modo molto semplice per definire gli array. Le parentesi quadre ('()') vengono utilizzate per definire l'oggetto array dopo il tipo di dati dell'array. È necessario definire la dimensione al momento della dichiarazione dell'array. Le matrici 3D sono definite con tre parentesi. Di seguito è riportata la sintassi della definizione delle matrici 3D in Java:

Data_type array_name( ) ( ) ( ) = new array_name(a)(b)(c);

  • Qui data_type: tipo di dati degli elementi che verranno memorizzati nell'array. array_name: nome dell'array
  • nuovo: parola chiave per creare un oggetto in Java
  • a, b, c: contiene i valori numerici per le varie dimensioni.

Sintassi:

int ( ) ( ) ( ) arr = new int (10)(4)(3);

Nell'esempio sopra, possono esserci al massimo 10x4x3 = 120 elementi memorizzati dall'array 'arr'.

Come creare array 3D e inserire valori in essi in Java?

La creazione di array 3D in Java è semplice come la creazione di array 1D e 2D. Come accennato in precedenza, è importante definire la dimensione di un array al momento della dichiarazione. La creazione di array 3D comporta un ulteriore passaggio di passaggio / immissione di valori in essi sotto forma di un array di array 2D. Possiamo definire la dimensione di un array e successivamente inserire / inserire i valori oppure possiamo passare direttamente i valori in un array. Quindi la modalità di valore definita nelle matrici 3D è riportata di seguito:

Sintassi

data_type()()() arr_name =
(
(
(Array1Row1Col1, Array1Row1Col2, ….),
(Array1Row2Col1, Array1Row2Col2, ….)
),
(
(Array2Row1Col1, Array2Row1Col2, ….),
(Array2Row2Col1, Array2Row2Col2, ….)
)
)

Codice

int num_array ( ) ( ) ( ) = (
(
(10, 20, 99),
(30, 40, 88)
),
(
(50, 60, 77),
(80, 70, 66)
),
);

Le matrici sono all'interno di una matrice e quindi viene chiamata matrice di matrici 2D. Nell'esempio sopra, se lo vediamo chiaramente, ci sono due matrici 2D di numeri e questo 2D.

Come inizializzare elementi di array 3D in Java?

Come accennato in precedenza, l'inizializzazione dell'intero array in una sola volta è una buona pratica quando si lavora con array 3D in quanto riduce le possibilità di confusione per la programmazione futura. Sebbene possiamo anche assegnare un valore alla volta in un array che può essere fatto nel modo indicato di seguito:

Sintassi:

int employee_arr( ) ( ) ( ) = new int (10)(3)(3);
employee_arr(0)(0)(0) = 100; // it will assign value 100 at very first element of employee_arr employee_arr(0)(0)(1) = 200; // it will assign value 200 at second element of employee_arr employee_arr(0)(0)(2) = 300; // it will assign value 100 at third element of employee_arr

L'approccio di cui sopra è noioso e non è considerato un buon approccio in quanto occupa molto spazio e aumenta le linee di codice. Esiste anche un approccio che utilizza i loop che sono considerati una buona pratica quando si lavora con array 3D.

Sintassi:

int Student_arr ( ) ( ) ( ) = new arr (2) (3) (4); int x, y, z, value;
for(x = 0; x< 2; x++) (
for(y = 0; y< 3; y++) (
for(z = 0; z< 4; z++) (
Student_arr(x)(y)(z) = value; value= value*2;
)
)
)

Nell'esempio sopra, tutti gli elementi dell'array vengono inseriti usando i loop in cui x = no. of tables, y = numero totale di righe e z indica il numero totale di colonne in un array 3D chiamato Student_arr.

Come accedere agli elementi di array 3D in Java?

In Java, tuttavia, possiamo accedere al singolo elemento dell'array utilizzando gli indici in quanto li abbiamo inizializzati da indici simili a quello indicato di seguito:

Sintassi:

int arr ( ) ( ) ( ) = new arr (3) (3) (3);
// Accessing the array elements of 3D arrays in Java using indices

Sintassi:

System.out.println(“The first element of array is” + arr(0)(0)(0));

Nella sintassi sopra, recupererà l'elemento in (0) (0) (0) indice dell'array 'arr' ma normalmente se vogliamo recuperare tutti gli elementi di un array, questo approccio non viene seguito e gli elementi sono accessibile tramite loop in quanto recupera tutti gli elementi contemporaneamente. Durante l'accesso agli elementi tramite loop, vengono utilizzati 3 loop in cui il primo loop definisce il numero totale di tabelle e il secondo loop definisce le righe e il terzo loop definisce le colonne come indicato di seguito:

Codice:

class Student(
public static void main(String() args) (
// student_arr is the name of 3d array int()()() student_arr= (
(
(10, 20, 30),
(20, 30, 40)
),
(
(40, 50, 60),
(10, 70, 80),
)
);
// for loop to iterate through each element of 3D array for (tables = 0; tables<2; tables++)
(
for (rows= 0; rows <2; rows++)
(
for (columns= 0; columns<3; columns++)
(
System.out.print("student_arr(" +tables+ ")(" +rows+ ")(" +columns+ ") = "
+student_arr(tables)(rows)(columns)+ "\t");
)
System.out.println();
)
System.out.println();
)
)

Produzione:

student_arr (0) (0) (0) = 10student_arr (0) (0) (1) = 20student_arr (0) (0) (2) = 30
student_arr (0) (1) (0) = 20student_arr (0) (1) (1) = 30student_arr (0) (1) (2) = 40
student_arr (1) (0) (0) = 40student_arr (1) (0) (1) = 50student_arr (1) (0) (2) = 60
student_arr (1) (1) (0) = 10student_arr (1) (1) (1) = 70student_arr (1) (1) (2) = 80

Come rimuovere elementi di array 3D in Java?

  • La rimozione di elementi negli array 3D in Java è semplice e simile a quella che li inizializza. La classe array non fornisce alcun metodo diretto per aggiungere o eliminare un elemento dagli array. Poiché la dimensione dell'array non può essere aumentata o ridotta in modo dinamico, per eseguire questa attività viene applicata una logica di programmazione semplice. Semplicemente possiamo usare 3 loop per attraversare l'intero array specificando l'indice in cui vogliamo rimuovere l'elemento. Possiamo creare un nuovo array o copiare l'array originale lasciando l'elemento che deve essere rimosso.
  • Attraverso questo processo di rimozione e aggiornamento di elementi nell'array 3D viene raramente utilizzato. Invece, ArrayList viene utilizzato in questi tipi di casi in quanto fornisce varie funzioni per rimuovere direttamente gli elementi da esso. In ArrayList il metodo 'remove ()' viene utilizzato per rimuovere elementi dall'indice fornito in un ArrayList. Se abbiamo valori ripetitivi in ​​un array e vogliamo rimuovere la prima occorrenza nell'array, possiamo usare il metodo ArrayUtils.removeElement (array, element) per lo stesso che accetta 2 argomenti, ovvero l'intero array e l'elemento che deve essere rimosso da esso.

Come aggiornare gli elementi

Non esiste alcun metodo per aggiornare gli elementi in un array 3D. Una certa logica di programmazione viene applicata per modificare gli elementi come rimuovere gli elementi attraversando l'intero array con l'uso di 3 loop ed eseguire la modifica sull'indice particolare o sull'intero array. Per un compito così complesso, questa elaborazione non è preferita attraverso gli array 3D e viene eseguita mediante l'uso della raccolta, ArrayList. In ArrayList set (int index, elemento E) viene utilizzato per modificare o aggiornare l'elemento in modo dinamico in un array. Prende 2 argomenti, ovvero l'indice e l'elemento con il valore modificato e aggiornato.

Conclusione

Come accennato in precedenza, come lavorare su array 3D in Java. Lavorare con array multidimensionali in Java è alquanto difficile per i nuovi programmatori poiché coinvolge vari loop ma comprenderlo attraverso la procedura graduale e tenere a mente le regole di base mentre si lavora con array può rendere molto più facile lavorarci su.

Articoli consigliati

Questa è una guida agli array 3D in Java. Qui discutiamo come creare array, come inserire un valore, come accedere, rimuovere e aggiornare. Puoi anche consultare i nostri altri articoli correlati per saperne di più-

  1. Matrici 3D in C
  2. Matrici 3D in Python
  3. Matrici in R
  4. Vantaggi dell'array
  5. Matrice multidimensionale in Python
  6. Matrici in PHP
  7. Come funzionano le matrici e le liste in Python?
  8. Matrici multidimensionali in C ++ con esempi

Categoria: