Úvod do multidimenzionálneho poľa v Jave
Kompletný sprievodca multidimenzionálnym poľom v Jave. Pole je homogénna štruktúra údajov, ktorá je súborom prvkov s podobným typom údajov. Sú uložené na priľahlom mieste pamäte. V poli je prvý prvok uložený v indexe 0, druhý prvok je uložený v indexe 1 atď. Polia môžu byť jednorozmerné alebo viacrozmerné. V tomto dokumente sa pozrieme na viacrozmerné polia v jazyku Java. Viacrozmerné pole je pole polí, ktoré môže obsahovať viac ako jeden riadok a stĺpec. Pozrime sa teraz na syntax a implementáciu viacrozmerného poľa v nasledujúcich častiach.
syntaxe:
data_type(dimension 1)(dimension 2)()…(dimension n) array_name= new data_type(size 1)(size 2)…(size n)
- data_type : typ údajov poľa, príklad: int, char, float atď
- dimenzia : rozmer poľa, Príklad: 1D, 2D atď.
- array_name : Názov poľa.
- size1, size2, …, sizeN : Rozmery rozmeru.
Druhy viacrozmerného poľa v Jave
Najbežnejšie viacrozmerné pole v Jave sú:
- Dvojrozmerné pole alebo 2D pole.
- Trojrozmerné pole alebo trojrozmerné pole.
1. Dvojrozmerné pole
2D polia sa bežne používajú v plošinových videohrách, ako je Super Mario, na zobrazenie terénu alebo obrazovky. Môžu sa tiež použiť na kreslenie šachovníc, ktoré predstavujú štruktúry ako tabuľka atď.
Kód :
int()() array1 = new int(2)(2);//Two dimensional Integer Array with 2 rows and 2 columns
Príklad :
9 10
7 66
Toto je 2D pole s dvoma riadkami a dvoma stĺpcami.
2. Trojrozmerné pole
Trojrozmerné polia sa bežne nepoužívajú v aplikáciách v reálnom čase. Preto sú dvojrozmerné polia tiež viac preferované v príkladoch programovania.
Kód :
int()()() array2 = new int(12)(24)(36); //Three dimensional Array
Príklad :
6 8 66
66 65 47
46 89 98
Ako vyhlásiť multidimenzionálne pole v Jave?
Je ľahké pochopiť viacrozmerné pole v Jave, ak sú známe bežné polia. Viacrozmerné polia možno deklarovať tak, ako je to znázornené nižšie:
Najprv sa pozrime na deklaráciu 2D polí:
- int () () array1 = new int (2) (2); // Dvojrozmerné celé číslo s 2 riadkami a 2 stĺpcami.
- Pole String () ()1 = nový reťazec (2) (2); // Dvojrozmerné reťazcové pole s 2 riadkami a 2 stĺpcami.
- char () () array1 = nový znak (2) (2); // Dvojrozmerný znak Array s 2 riadkami a 2 stĺpcami.
- boolean () () array1 = nový boolean (2) (2); // Dvojrozmerný boolovský súbor s 2 riadkami a 2 stĺpcami.
- double () () array1 = nový double (2) (2); // Dvojrozmerné dvojité pole s 2 riadkami a 2 stĺpcami.
- float () () array1 = nový float (2) (2); // Dvojrozmerné plávajúce pole s 2 riadkami a 2 stĺpcami.
- long () () array1 = new long (2) (2); // Dvojrozmerné dlhé pole s 2 riadkami a 2 stĺpcami.
- short () () array1 = new short (2) (2); // Dvojrozmerné krátke pole s 2 riadkami a 2 stĺpcami.
- byte () () array1 = nový byte (2) (2); // Dvojrozmerné bajtové pole s 2 riadkami a 2 stĺpcami.
Počas programovania v jazyku Java sa uistite, že je vytvorené správne vyhlásenie.
Príklad č. 1
kód:
//Java Program to demonstrate the multidimensional 2D array
public class MultidimensionalArray (
public static void main(String args())(
//2D array a is declared and initialized
int a()()=((2, 2, 3), (8, 4, 5), (9, 4, 5));
//Print the array elements
for(int i=0;i<3;i++)(
for(int j=0;j<3;j++)(
System.out.print(a(i)(j)+" ");
)
System.out.println();
)
))
Výkon:
Možno diskutovať o vyhlásení o trojrozmernom poli.
- int () () () array2 = new int (12) (24) (36); // Trojrozmerné pole
Tieto polia môžu byť ľubovoľného typu údajov. Nižšie sú uvedené niektoré z trojrozmerných polí s rôznymi typmi údajov.
- int () () () IntArray; // deklarovanie trojrozmerného poľa celých čísel.
- byte () () () ByteArray; // deklarovanie trojrozmerného poľa bajtov.
- short () () () ShortArray; // deklarovanie trojrozmerného poľa Šortky.
- long () () () LongArray; // deklarovanie trojrozmerného poľa dlhov.
- float () () () FloatArray; // deklarovanie trojrozmerného poľa plavákov.
- double () () () DoubleArray; // deklarovanie trojrozmerného poľa štvorhry.
- boolean () () () BooleanArray; // deklarovanie trojrozmerného poľa Booleovcov.
- char () () () CharArray; // deklarovanie trojrozmerného poľa Chars.
- String () () () StringArray; // deklarovanie trojrozmerného poľa reťazcov.
Príklad č. 2
kód:
//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray (
//main method
public static void main(String() args) (
//3D array arr
int()()() arr = ( ( ( 1, -9, 3 ), ( 2, 7, 4 ) ), ( ( -45, -5, 6, 75 ), ( 88 ), ( 29, 30 ) ) );
// for..each loop to iterate through the elements of the 3d array arr
for (int()() ar: arr) (
for (int() a: ar) (
for(int finalarray: a) (
System.out.println(finalarray);
)
)
)
)
)
Výkon:
Ako inicializovať multidimenzionálne pole v Jave?
Viacrozmerné polia sa môžu inicializovať niekoľkými spôsobmi:
1. Vyhláste a vytvorte multidimenzionálne pole Java
- int () () () a = nový int (3) (5) (4);
Tradičnejším spôsobom môžu byť inicializačné prvky poľa nasledujúce.
- a (0) (1) (0) = 15; // Inicializácia prvkov poľa v polohe (0) (1) (0)
- a (1) (2) (0) = 45; // Inicializácia prvkov poľa v polohe (1) (2) (0)
- a (2) (1) (1) = 65; // Inicializácia prvkov poľa v polohe (2) (1) (1)
2. Priamo určte prvky
int()()() a = ( ( ( 11, 23, 30 ), ( 5, 65, 70 ), ( 0, 80, 10 ), ( 10, 12, 450 ) ), ( ( 33, 2, 4 ), (11, 66, 6), (55, 11, 22), (11, 57, 43) ) );
V tomto prípade, hoci veľkosť riadkov a stĺpcov nie je uvedená, kompilátor java dokáže zistiť veľkosť riadkov a stĺpcov spočítaním počtu prvkov.
3. Vnorené pre slučku
V prípade uloženia veľkého počtu prvkov možno použiť Nested For Loop, ako je uvedené nižšie:
int i, j, k;
for(i = 0; i < 2; i++) (
for(j = 0; j < 3; j++) (
for(k = 0; k < 4; k++) (
a(i)(j)(k) = i + j + k;) ) )
4. Priradenie hodnôt jednému riadku
int a= new int(3)(2)(4);
a(0)(2)(1)= 33;
a(0)(1)(2)= 73;
a(0)(1)(1)= 88;
Vytvorí sa trojrozmerné pole veľkostí 3 úrovní * 2 riadky * 4 stĺpce, ale hodnoty sa priradia iba k niektorým pozíciám. Pretože žiadny z ostatných prvkov nemá priradenú žiadnu hodnotu, budú priradené predvolené hodnoty.
Operácie na viacrozmerných poliach
Multidimenzionálne pole v Java môže vykonávať niekoľko operácií.
Príklad č. 1
Pozrime sa na Matrix sčítanie dvoch polí.
kód:
import java.util.*;
//Java Program to demonstrate the multidimensional array
public class MultidimensionalArray (
//main method
public static void main(String args())
(
int row, col, c, d;
//input the number of rows and columns
Scanner in = new Scanner(System.in);
System.out.println("Enter the number of rows of matrix");
row = in.nextInt();
System.out.println("Enter the number of columns of matrix");
col = in.nextInt();
//initialization of two matrices and sum matrix
int firstmat()() = new int(row)(col);
int secondmat()() = new int(row)(col);
int summat()() = new int(row)(col);
//adding elements to first matrix
System.out.println("Enter the elements to be added to the first matrix");
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
firstmat(c)(d) = in.nextInt();
//adding elements to second matrix
System.out.println("Enter the elements to be added to the second matrix");
for (c = 0 ; c < row ; c++)
for (d = 0 ; d < col ; d++)
secondmat(c)(d) = in.nextInt();
//sum of the two matrices
for (c = 0; c < row; c++)
for (d = 0; d < col; d++)
summat(c)(d) = firstmat(c)(d) + secondmat(c)(d);
System.out.println("Sum of the two given matrices is:");
//printing the sum matrix
for (c = 0; c < row; c++)
(
for (d = 0; d < col; d++)
System.out.print(summat(c)(d)+"\t");
System.out.println();
)
)
)
Výkon:
Ak je potrebné vykonať odpočítanie, nahraďte v kóde znak „+“ znakom „-“.
Príklad č. 2
Pozrime sa, ako funguje násobenie matíc.
kód:
import java.util.*;
//Java Program to perform matrix multiplication
public class MultidimensionalArray (
//main method
static int N = 4;
// multiply matrices a and b, and then stores the result in c
static void mul(int a()(),
int b()(), int c()())
(
int i, j, k;
for (i = 0; i < N; i++)
(
for (j = 0; j < N; j++)
(
c(i)(j) = 0;
for (k = 0; k < N; k++)
c(i)(j) += a(i)(k) * b(k)(j); //multiply a and b matrices
)
)
)
//main method
public static void main (String() args)
(
int a()() = ( (9, 7, 2, 3),
(9, 7, 2, 3),
(4, 13, 32, 2),
(9, 7, 2, 3));
int b()() = (( 9, 7, 2, 3), (9, 7, 2, 3),
(9, 7, 2, 3),
(4, 13, 32, 2));
// Store the result in c
int c()() = new int(N)(N) ;
int i, j;
mul(a, b, c); //calling the mul method
System.out.println("Multiplication result matrix" + " is ");
for (i = 0; i < N; i++)
(
for (j = 0; j < N; j++)
System.out.print( c(i)(j) + " ");
System.out.println();
)
)
)
Výkon:
záver
Polia sú homogénne dátové štruktúry, ktoré môžu ukladať podobné typy prvkov. Môže byť jednorozmerné alebo viacrozmerné. V tomto dokumente sa diskutuje o viacrozmerných poliach s vysvetlením štruktúry syntaxe, inicializácie atď.
Odporúčané články
Toto je sprievodca multidimenzionálnym poľom v Jave. Tu diskutujeme 2 typy multidimenzionálneho poľa v jave, ako deklarovať, ako inicializovať a prevádzkovať v ňom. Viac informácií nájdete aj v ďalších súvisiacich článkoch -
- Viacrozmerné pole v C
- 2D polia v Jave
- 2D polia v C #
- Booleovské PHP
- 2D grafika v Jave
- Viacrozmerné pole v PHP
- Viacrozmerné polia v C ++ s príkladmi
- 3 rôzne typy polí v PHP (príklady)
- Polia v štruktúre údajov
- Čo je to reťazec?
- Ako Array pracuje v Unixe so syntaxou?