Dacă răsfoiți această postare înseamnă că doriți să studiați care este modalitatea de lucru cu masivele în Java. Vă doresc succes și sper că această postare o să vă fie utilă!
Ce sunt vectorii?
Un vector, tablou sau array reprezintă
un container pentru un număr de elemente de același tip, fiecare element fiind
indexat de un număr. În limbajul Java vectorii sunt obiecte, tipul acestora
fiind referință.
Vectorii sunt de 2 tipuri:
ü cu
lungime fixă – dimensiunea vectorului este stabilită la crearea acestuia
și nu poate fi modificată ulterior. Pentru ei nu există o
clasă care se instanţiază pentru a
obține un obiect vector.
ü cu
lungime variabilă –
dimensiunea vectorului poate fi modificată pe parcursul rulării programului.
Pentru ei există clase Java predefinite ce pot fi instanțiate (de ex. java.util.Vector,
java.util.Arrays, ș.a).
Iată
structura unui vector:
După cum observați în
figura de mai sus, fiecărui element dintr-un vector îi corespunde un index
numeric, cu ajutorul căruia poate fi accesat. Numerotarea elementelor începe
întotdeauna de la 0, ceea ce înseamnă că, de exemplu, cel de-al nouălea element
va fi accesat de indexul 8.
Cum se folosesc vectorii?
Pentru a folosi un vector este necesar să:
1 . declarați o variabilă de tip vector care
permite referirea la un obiect vector;
2 . construiți obiectul vector specificându-i
dimensiunea, adică numărul de elemente ce îl poate stoca;
3 . accesați elementele vectorului cu ajutorul variabilei
de tip vector cu scopul de a le atribui valori sau a obține valorile acestora.
Cum se declară variabila de tip vector?
Variabila de tip vector
se declară în felul următor: tip [] nume;
unde
-
tip indică tipul de date al elementelor conținute de
vector;
-
parantezele pătrate sunt simboluri speciale ce
indică ca variabila respectivă este un vector;
-
nume fiind identificatorul variabilei vectorului;
Ca şi în cazul altor
tipuri de variabile, declararea nu creează de fapt un vector, dar pur şi simplu
anunță compilatorul că variabila respectivă va deține un vector de tipul
specificat. Deci, la această etapă vectorul nu poate fi utilizat.
Exemple:
byte[]
anArrayOfBytes;
short[]
anArrayOfShorts;
double[]
anArrayOfDoubles;
boolean[]
anArrayOfBooleans;
char[]
anArrayOfChars;
String[]
anArrayOfStrings;
Cum se crează un vector?
Un vector poate
fi creat utilizând operatorul new printr-o construcție de forma:
new
tip_vector [dimensiune];
unde, tip_vector reprezintă tipul elementelor stocate în vector, iar dimensiune este o expresie de tip întreg
pozitivă ce semnifică numărul de elemente ce se vor stoca în vector.
Întreaga construcție va crea un vector
de tip tip_vector cu o dimensiune de dimensiune elemente indexate de la 0 la dimensiune-1.
Dacă această instrucțiune ar lipsi,
compilatorul ar afișa o eroare asemănătoare celei mai jos și execuția
programului ar eșua: Variable anArray may not have been
initialized.
De
exemplu:
int [] a; // se declară variabila a ce conţine referință către un vector cu
elemente întregi
a = new int[5]; // se crează un vector cu 5 elemente
întregi de același tip cu variabila a
Cum accesăm elementele unui vector?
Fiecare element distinct din
vector poate fi accesat ca o variabilă separată printr-o construcție de forma:
nume [index]
unde nume reprezintă numele vectorului ce stochează elementele, iar index este o expresie de tip întreg
strict pozitivă ce semnifică poziția elementului care doriți să îl accesați din
vectorul dat. Dacă vectorul conține n elemente
atunci index trebuie să fie cuprins
în intervalul [0, n-1], în caz contrar o excepție de
execuție va fi semnalată.
De
exemplu:
int [] a; // se
declară variabila a ce conţine referință către un vector cu elemente întregi
a = new int[5]; // se crează un vector cu 5 elemente
întregi de același tip cu variabila a
a[0] = 23; //
primului element din vector i se atribuie valoarea 23
a[4]
= 10; // ultimului element din vector i
se atribuie valoarea 10
a[5]
= 9; // excepție generată! Indexul nu
se află în diapazonul [0,4]
Alternativ, poate fi creat și inițializat
un vector în felul următor:
int[] anArray =
{100, 200, 300, 400, 500, 600, 700, 800, 900, 1000};
În acest caz, lungimea vectorului este
determinată de numărul de valori furnizate între acolade.
Cum se determină dimensiunea unui vector ?
Fiecare vector conține, pe lîngă
elemente, o variabilă de instanță publică ce nu poate fi modificată numită length ce
stochează numărul de elemente în vector. Prin urmare accesând această variabilă
putem obține lungimea unui vector.
Exemplu:
double[] v;
v = new double[5];
System.out.println(v.length); //
se va afișa valoarea 5
Ce este o matrice?
O matrice
este o colecție de elemente de același tip, organizate în formă de tabel în
care fiecare element este indexat de o pereche de numere ce identifică numărul
de rând și numărul de coloană la intersecția cărora se află elementul.
În Java o
matrice este formată din mai mulți vectori fiecare reprezentând cîte un rând
din matrice și mai este numită vector de vectori.
Cum se declară o matrice?
O matrice
se declară în felul următor (asemănător ca la vectori):
int[][] m; // declarația unui vector de
vectori
Cum se crează o matrice?
Înainte
de a folosi o matrice aceasta trebuie creată, la fel ca vectorii. De exemplu,
următoarele doua secvențe de creare a unei matrici sunt echivalente:
m = new int[3][]; //se
crează un vector ce va conține 3 elemente, fiecare conținând
//
cîte o referință la un rând din matrice.
m[0]
= new int[5]; // se crează un rândul 0 din matrice (5
coloane)
m[1] = new int[5];
// se crează un
rândul 1 din matrice (5 coloane)
m[2] = new int[5];
// se crează un
rândul 2 din matrice (5 coloane)
|
<=>
m = new int [3][5];
|
Rețineți
faptul că, dacă utilizați cea dea doua modalitate forțați toate rândurile să
conțină 5 coloane, pe când folosind prima modalitate rândurile pot avea număr
de coloane diferit.
Observați
în exemplul următor:
Cum se accesează elementele unei matrici?
Pentru a
accesa un element este necesar de a specifica indicele de rând și coloană la
intersecția căruia se află elementul folosind construcția:
variabila_matrice[indice_rînd][indice_coloană]
Exemplu:
int[][] m = new int [3][5];
m[1][2] = 39; //
se atribuie elementului din rândul 1 coloana 2 valoarea 39
m[0][0] = 44; // se atribuie elementului din rândul 0
coloana 0 valoarea 44
System.out.println(m[1][2]); // se accesează elementul din rândul 1
coloana 2, se afișează 39
Cum depistați dimensiunea unei matrici?
Folosind
variabila length, aveți posibilitatea de a obține numărul de
rânduri și coloane a matricei. Fie ca m este
o referință către o matrice, atunci:
ü m.length denotă numărul de rânduri
ü m[i].length denotă numărul de coloane a rândului i din matricea m.
Rețineți
faptul că, dacă toate rândurile au același număr de coloane puteți folosi
expresia m[i].length.
De exemplu:
double[][]
v;
v
= new double[15][20];
System.out.println(v.length); // afișează 15
System.out.println(v[0].length); // afișează 20
Cum parcurgem elementele unei matrici?
public class Parcurgere {
public static void main(String[]
args) {
int [][] m = new int[2][2];
m[0][0] = 2; m[0][1] = 4;
m[1][0] = 3; m[1][1] = 5;
for (int i = 0; i <
m.length; i++) {
for (int j = 0; j <
m[0].length; j++)
System.out.print(m[i][j] +
" ");
System.out.println();
}
}}
|
public class parcurgere1 {
public static void main(String[]
args) {
int [][] m = { {2,4},
{3,5} };
for (int i = 0; i <
m.length; i++) {
for (int j = 0; j <
m[0].length; j++)
System.out.print(m[i][j] +
" ");
System.out.println();
}}}
|
https://youtu.be/RDUqLG-xmR4 prelucrarea tablourilor în practică!
RăspundețiȘtergerehttps://youtu.be/Nt8D2zPeMpU prelucrarea matricei
RăspundețiȘtergere