Diferența dintre Arrays și Arraylists
Arrays vs Arraylists
Arrays sunt structura de date cea mai frecvent utilizată pentru stocarea unei colecții de elemente. Cele mai multe limbi de programare oferă metode pentru a declara cu ușurință matrice și elemente de acces în matrice. Un arrayist poate fi văzut ca o matrice dinamică, care poate crește în dimensiune. Din acest motiv, programatorul nu are nevoie să cunoască dimensiunea arrayistului atunci când o definește.
Ce sunt Arrays?
Afișată în figura 1, este o bucată de cod utilizată în mod obișnuit pentru a declara și a atribui valori unei matrice. Figura 2 prezintă modul în care ar arăta o matrice în memorie.
valorile int [5]; valori [0] = 100; valori [1] = 101; valori [2] = 102; valori [3] = 103; valori [4] = 104; |
Figura 1: Cod pentru declararea și atribuirea valorilor unei matrice
100 | 101 | 102 | 103 | 104 |
3 | 4 | Figura 2: Array stocat în memorie | Deasupra codului, definește un matrice care poate stoca 5 numere întregi și acestea sunt accesate folosind indicii 0 până la 4. O proprietate importantă a unei matrice este aceea că, întreaga matrice este alocată ca un singur bloc de memorie și fiecare element își are propriul spațiu în matrice. Odată ce o matrice este definită, dimensiunea acesteia este fixă. Deci, dacă nu sunteți sigur de dimensiunea matricei la momentul compilării, va trebui să definiți o matrice suficient de mare pentru a fi în partea sigură. Dar, de cele mai multe ori, vom folosi de fapt mai puține elemente decât am alocat. Deci, o cantitate considerabilă de memorie este de fapt pierdută. Pe de altă parte, dacă "matricea suficientă" nu este destul de mare, programul s-ar prăbuși. | Ce sunt arraiciștii? |
Care este diferența dintre Arrays și Arraylists
Chiar dacă arrays și arraylists sunt similare în sensul că ambele sunt folosite pentru a stoca colecții de elemente, ele diferă în modul în care sunt definite. Mărimea matricei trebuie dată atunci când este definită o matrice, dar puteți defini un arraylist fără a cunoaște dimensiunea reală. Puteți adăuga elemente într-un arraylist după ce este definit și acest lucru nu este posibil cu matrice.Dar în Java, arraiiștii nu pot deține tipuri primitive, dar array-urile pot fi folosite pentru a deține tipuri primitive. Dar dacă aveți nevoie de o structură de date care să-i poată varia dimensiunea, arrailistul ar fi cea mai bună alegere.