|
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 C sau Fortran. O consecinta a acestui aspect este ca vectorii elemente pot varia ca lungime, dupa cum se poate observa in urmatorul program MultiDimArrayDemo:
class MultiDimArrayDemo {
public static void main(String[] args) {
String[][] names = {{"Mr. ", "Mrs. ", "Ms. "},
{"Smith", "Jones"}};
System.out.println(names[0][0] + names[1][0]);
System.out.println(names[0][2] + names[1][1]);
}
}
Codul de mai sus va afisa:
In sfarsit, dimensiunea unui vector poate fi determinata cu ajutorul metodei length. Astfel, instructiunea:
System.out.println(anArray.length);
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:
public static void arraycopy(Object src,
int srcPos,
Object dest,
int destPos,
int length)
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:
class ArrayCopyDemo {
public static void main(String[] args) {
char[] copyFrom = { 'd', 'e', 'c', 'o', 'f', 'e',
'i', 'n', 'i', 'z', 'a', 't' };
char[] copyTo = new char[7];
System.arraycopy(copyFrom, 2, copyTo, 0, 10);
System.out.println(new String(copyTo));
}
}
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.
|