Vectori in Java

0

In acest tutorial vei invata cateva lucruri despre vectori in Java: declararea lor, adaugarea elementelor si accesarea unui element aflat la un anumit index.

Un vector, tablou sau array reprezinta un container pentru un numar de valori de acelasi tip. Lungimea sau dimensiunea unui vector este stabilita la crearea acestuia si nu poate fi modificata ulterior. Iata structura unui array:

Vectori in Java

Dupa cum poti observa in figura de mai sus, fiecarui element dintr-un vector ii corespunde un index numeric, cu ajutorul caruia poate fi accesat. Numerotarea elementelor incepe intotdeauna de la 0, ceea ce inseamna ca, de exemplu, cel de-al noualea element va fi accesat de indexul 8.

Urmatorul program, ArrayDemo, creeaza un vector de numere intregi carora le atribuie valori, afisate in cea de-a doua parte a programului:

Codul de mai sus va afisa:

Desigur, in loc sa scrii fiecare linie separat, initializarile si afisarile de mai sus ar putea fi incluse intr-o singura bucla de executie (for, while sau do-while). Despre bucle de executie vei putea citi in urmatoarele tutoriale din aceasta serie.

Declararea unui vector

In exemplul de mai sus am declarat variabila de tip vector cu ajutorul urmatoarei linii de cod:

Asemeni variabilelor clasice, declararea unui array are doua componente: tipul si denumirea vectorului. Tipul unui vector este scris ca tip[], unde tip indica tipul de date al elementelor continute de acesta; parantezele patrate sunt simboluri speciale indicand ca variabila respectiva este un array. Ca si in cazul altor tipuri de variabile, declararea nu creeaza de fapt un vector – pur si simplu ii spune compilatorului ca variabila respectiva va detine un array de tipul specificat.

In mod similar, poti declara vectori de alte tipuri:

Parantezele patrate pot fi incluse si si dupa denumirea variabilei, dar, de dragul conventiilor, aceasta sintaxa nu este incurajata:

Crearea, initializarea si accesarea elementelor unui vector

Un vector poate fi creat utilizand operatorul new. Urmatoarea instructiune din programulArrayDemo aloca memorie pentru zece elemente de tip int pentru vectorul nostru.

Daca aceasta instructiune ar lipsi, compilatorul ar afisa o eroare asemanatoare celei mai jos si programul ar esua:

Urmatoarele linii atribuie valori fiecarui element al sirului:

Alternativ, poti crea si initializa un vector in modul urmator:

In acest caz, lungimea vectorului este determinata de numarul de valori furnizate intre acolade.

Daca ai nevoie de un tablou multidimensional (matrice), il poti declara in mod similar unui vector, utilizand utilizand doua sau mai multe seturi de paranteze patrate:

Aceasta inseamna ca fiecare element din tabloul names va fi accesat de un numar corespunzator de indecsi. De exemplu:

 

In limbajul de programare Java, un tablou multidimensional este pur si simplu un vector ale carui componente sunt tot vectori. Din acest punct de vedere, Java nu se aseamana cu Csau Fortran. O consecinta a acestui aspect este ca vectorii elemente pot varia ca lungime, dupa cum se poate observa in urmatorul program MultiDimArrayDemo:

Codul de mai sus va afisa:

In sfarsit, dimensiunea unui vector poate fi determinata cu ajutorul metodei length. Astfel, instructiunea:

va afisa dimensiunea vectorului anArray.

Copierea vectorilor

Clasa System detine o metoda arraycopy ce poate fi utilizata pentru copierea eficienta dintr-un vector in altul. Prototipul functiei este:

Cei doi parametri de tip Object reprezinta vectorul din care (src) si vectorul in care (dest) se copiaza. Cele trei argumente int precizeaza pozitia de start din vectorul sursa (srcPos), pozitia de start din vectorul destinatie (destPos) si numarul elementelor ce trebuiesc copiate (length).

Urmatorul program, ArrayCopyDemo, declara un array de elemente char, scriind pe litere cuvantul „decofeinizat”, apoi utilizeaza arraycopy pentru a copia o parte din acest vector intr-un al doilea vector:

Rezultatul acestui program este:

 

Rezumat

Un vector este un obiect container care detine un numar fix de valori de un singur tip. Lungimea unui vector este stabilita la crearea acestuia. Dupa creare, lungimea sa este fixata.

Leave A Reply