Introduktion till 3D Arrays i Java

Innan vi förstår 3D-matriser i Java bör vi veta vad matrisen är och varför används den på programmeringsspråk? Matriser är i princip en grupp av liknande typ av värden som hänvisas med samma namn. Med liknande typ menar vi värdena för samma datatyp. Tänk på en situation där vi vill lagra namnen på alla elever i en klass. Eftersom namnet på Student är av strängdatatyp, men det skulle vara felaktigt att lagra namnet på varje student i en annan variabel, eftersom det inte bara skulle ta mycket plats utan också skapar förvirring i ett program också genom att öka nästan samma kodrader. Så för att hantera dessa typer av situationer används Arrays. Programmeraren kan skapa en matris med Studentnamn och ange storleken på den vid tidpunkten för skapandet av arrayobjekt. På detta sätt skulle det inte vara nödvändigt att ange variabelnamnet för varje studentnamn och när vi vill uppdatera, infoga och hämta värdena kan index för denna grupp användas.

I Java förklaras en matrisvariabel som liknar de andra variablerna med () -tecken efter datatypen för den. Matrisstorlek måste definieras vid tidpunkten för upprättandet av array och det förblir konstant. Arrayelement nås av de numeriska indexen med det första elementet lagrat vid 0 index. Det finns i princip två typer av matriser i Java, dvs en-dimensionella och multidimensionella matriser. 3D-matriser faller under kategorin flerdimensionella matriser. Flerdimensionella matriser i enkla ord kan definieras som en matris med matriser och 3D-matriser är en matris med 2D-arrayer. 3D är en komplex form av flerdimensionella matriser. Tänk på ett scenario med lägenheter i en byggnad. Anta att det finns 10 våningar i lägenheten och varje våning har 5 lägenheter och varje lägenhet har 3 rum. För att hantera dessa data i programmering används 3D-arrayer.

Hur definieras 3D-matriser i Java?

Java använder ett mycket enkelt sätt att definiera matriserna. Fyrkantiga parenteser ('()') används för att definiera arrayobjektet efter datatypen för array. Man måste definiera storleken vid tidpunkten för matrisdeklarationen. 3D-matriser definieras med tre parenteser. Nedan ges syntaxen för att definiera 3D-arrayerna i Java:

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

  • Här data_type: datatyp för element som kommer att lagras i matrisen. array_name: namn på array
  • nytt: nyckelord för att skapa ett objekt i Java
  • a, b, c: rymmer de numeriska värdena för olika dimensioner.

Syntax:

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

I exemplet ovan kan det finnas maximalt 10x4x3 = 120 element lagrade av matrisen 'arr'.

Hur skapar jag 3D-arrayer och sätter in värden i dem i Java?

Att skapa 3D-matriser i Java är lika enkelt som att skapa 1D- och 2D-matriser. Som nämnts ovan är det viktigt att definiera storleken på en matris vid tidpunkten för deklarationen. Att skapa 3D-arrayer innebär ytterligare ett steg för att överföra / ange värden i dem i form av en matris med 2D-arrayer. Vi kan definiera storleken på en matris och kan infoga / ange värden efteråt eller vi kan direkt överföra värdena i en matris. Så sättet för värde definierat i 3D-arrayer ges nedan:

Syntax

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

Koda

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

Matriser finns i en matris och därför kallas det en matris med 2D-matriser. I exemplet ovan, om vi ser det tydligt, finns det två 2D-arrayer med siffror och denna 2D.

Hur initierar jag element i 3D-arrayer i Java?

Som nämnts ovan är det bästa sättet att initiera hela matrisen när du arbetar med 3D-arrayer eftersom det minskar risken för förvirring för framtida programmering. Vi kan även tilldela ett värde i taget i en matris som kan göras på det sätt som nämns nedan:

Syntax:

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

Ovanstående tillvägagångssätt är tröttsamt och anses inte vara ett bra tillvägagångssätt eftersom det upptar mycket utrymme och ökar kodlinjerna. Det finns också en metod med hjälp av slingor som anses vara en bra praxis när du arbetar med 3D-arrayer.

Syntax:

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;
)
)
)

I exemplet ovan infogas alla arrayelement med slingor där x = nej. av tabeller, y = totalt antal rader och z betecknar det totala antalet kolumner i en 3D-grupp med namnet Student_arr.

Hur får man tillgång till element i 3D-arrayer i Java?

I Java kan vi dock komma åt det enda elementet i matrisen med hjälp av indexen eftersom vi har initialiserat dem med index som liknar det som anges nedan:

Syntax:

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

Syntax:

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

I ovanstående syntax kommer den att hämta elementet vid (0) (0) (0) index för arrayen 'arr' men normalt sett om vi vill hämta alla elementen i en matris, följs inte denna strategi och element är åtkomst via öglor när det hämtar alla element på en gång. När man får tillgång till element genom slingor används 3 slingor där den första slingan definierar det totala antalet tabeller och den andra slingan definierar raderna och den tredje slingan definierar kolumnerna enligt nedan:

Koda:

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();
)
)

Produktion:

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

Hur tar man bort element i 3D-arrayer i Java?

  • Att ta bort element i 3D-matriser i Java är enkelt och liknar det som initierar dem. Array-klass tillhandahåller inte någon direkt metod för att lägga till eller ta bort ett element från matriserna. Eftersom storleken på matrisen inte kan ökas eller minskas dynamiskt så tillämpas enkel programmeringslogik för att utföra denna uppgift. Helt enkelt kan vi använda tre slingor för att korsa hela matrisen genom att ange indexet där vi vill ta bort elementet. Vi kan skapa en ny matris eller kopiera den ursprungliga matrisen och lämna det element som måste tas bort.
  • Genom denna process för att ta bort och uppdatera element i 3D-arrayen används sällan. Istället används ArrayList i dessa typer av fall eftersom det ger olika funktioner för att direkt ta bort element från det. I ArrayList används 'remove ()' -metoden för att ta bort element på det medföljande indexet i en ArrayList. Om vi ​​har upprepade värden i en matris och vi vill ta bort den första händelsen i den matris som vi kan använda, ArrayUtils.removeElement (array, element) -metod för samma som tar två argument, dvs. hela matrisen och elementet som behöver tas bort från den.

Hur man uppdaterar element

Det finns som sådan ingen metod för att uppdatera element i en 3D-grupp. Viss programmeringslogik tillämpas för att modifiera elementen som att ta bort elementen genom att korsa hela matrisen med hjälp av 3 slingor och utföra modifieringen antingen vid det specifika indexet eller i hela matrisen. För en så komplex uppgift föredras inte denna bearbetning genom 3D-matriser och görs genom användning av samlingen, ArrayList. I ArrayList-uppsättning (int-index, E-element) används för att modifiera eller uppdatera elementet dynamiskt i en matris. Det tar två argument, dvs indexet och elementet med det modifierade och uppdaterade värdet.

Slutsats

Som vi nämnde ovan hur man arbetar med 3D-matriser i Java. Att arbeta med flerdimensionella matriser i Java är något svårt för de nya programmerarna eftersom det involverar olika slingor men att förstå det genom stegvis procedur och att tänka på de grundläggande reglerna när man arbetar med arrayer kan göra det mycket lättare att arbeta med det.

Rekommenderade artiklar

Detta är en guide till 3D Arrays i Java. Här diskuterar vi hur man skapar matriser, hur man sätter in ett värde, hur man kommer åt, tar bort och uppdaterar. Du kan också gå igenom våra andra relaterade artiklar för att lära dig mer-

  1. 3D-matriser i C
  2. 3D-matriser i Python
  3. Matriser i R
  4. Fördelar med array
  5. Multidimensionell matris i Python
  6. Arrays i PHP
  7. Hur fungerar matriser och listor i Python?
  8. Flerdimensionella matriser i C ++ med exempel

Kategori: