Diferențele dintre Java Vector și ArrayList

Singura definiție comună pe care o vom aminti în timp ce scriem despre vector (Java). Vectoarele Java sunt utilizate în mod obișnuit în loc de matrice. Putem da exemple pentru același lucru - în timp ce datele cresc automat, se vor extinde. Putem crea un vector cu dimensiunea inițială sau cu dimensiunea inițială implicită.

Vom vedea codul pentru dimensiunea inițială sau dimensiunea inițială ::

  • Pentru a crea un vector cu dimensiunea inițială implicită
    Vector v = nou Vector ();
  • Pentru a crea un vector cu o dimensiune inițială
    Vector v = nou Vector (300);

Mai jos sunt metode vector comune:

  • add (o)
  • clar()
  • firstElement (i)
  • listIterator ()
  • mărimea()
  • toArray (Object ())

Java ArrayList este una dintre cele mai simple și mai utilizate structuri de date din clasele de implementare ale bibliotecii API Java. Principalul lucru important este că folosește un tablou dinamic pentru stocarea elementelor. Un lucru pe care trebuie să-l amintim în timp ce creăm matricile sunt cele cu lungime fixă ​​odată ce acestea sunt create, nu putem face nicio modificare.

Mai jos sunt Constructorii

ArrayList () - Vă ajută la construirea listei goale a tablelor

ArrayList (Colecția c) - Ajută la crearea unei liste de elemente constructive într-o

Colecție pre-specificată

ArrayList (capacitate int) - Ajută la construirea unei liste goale.

Mai jos sunt cele mai utilizate metode :: ::

  • Adăugare booleană (E obj)
  • void add (index index, E obj)
  • E get (index index)
  • boolean conține (obiect obiect)
  • boolean isEptpt ()

Java a fost introdus cu o nouă colecție de API în Java 2.0 pentru a oferi clasele structurate uniforme. Când va fi introdusă noua API, vor fi modificări ale metodelor. Acum, aici vom vedea unele dintre metodele vechi și noi schimbate în momentul schimbării API.

Metoda vecheNouă metodă
Element obiectAt (int)Obiect (int)
void insertElementAt (obiect, int)void add (index, obiect)
void addElement (obiect)adaos boolean (obiect)
void setElementAt (int)Set de obiecte (int, obiect)
void removeElementAt (int)void remove (int)
void removeAllElements ()void clear ()

Comparație de la cap la cap între Java Vector și ArrayList (Infografie)

Mai jos este Top 8 Comparație între Java Vector și ArrayList

Diferențele cheie între Java Vector și ArrayList

Mai jos sunt listele de puncte, descrieți diferențele cheie între Java Vector și ArrayList

ArrayList este nesincronizat și nu este sigur de fire, dar Vector este sincronizat și are un singur fir pentru a apela metodele simultan. Însă, când vineți în siguranță, este o singură alegere cu filetă ArrayList este singura alegere, dar dacă lucrăm la multitreading, atunci trebuie să preferăm vectorii. Dacă avem vreo îndoială sau confuzie în date, atunci putem selecta vector, deoarece în vector putem seta valoarea incrementală.

Un vector poate folosi atât interfața Enumerare, cât și Iteratorul pentru traversarea elementelor, dar ArrayList poate utiliza interfața Iterator numai pentru traversare. În vector Dacă utilizați pachetul Integer, nu veți putea modifica valoarea integră. În vector, cele mai utilizate două metode au Next () și next (). Listele ArrayL sunt create cu dimensiunea inițială, deoarece dacă se adaugă obiecte, va crește dimensiunea, iar obiectele sunt înlăturate, va scădea automat.

Clasa vectorială în Java implementează o serie dinamică de obiecte. Este exact identic cu tabloul, conține elemente accesibile folosind un simplu număr întreg de indici. Cu toate acestea, dimensiunea unui Vector poate crește sau micșora pentru a se adăuga și elimina elemente în funcție de necesități.

Java Vector și ArrayList furnizează ambele un tablou redimensionabil care înseamnă un tablou care poate crește spațiul. Java oferă clasa vectorială pentru a oferi dimensiuni dinamice, metode generice și predefinite utile (am văzut deja metodele din pagina 1). Utilizați un tablou dacă dimensiunea este fixă; folosiți Vector dacă dimensiunea se poate schimba. Atât Java Vector cât și ArrayList sunt bazate pe index și folosesc matricea intern și ambele Java Vector vs ArrayList mențin ordinea de inserție a elementelor. Java oferă o clasă ArrayList pentru a furniza funcții similare ca metode predefinite Vector dinamice, generice și utile.

Java Vector și ArrayList ambele clase utilizate pentru utilizarea dinamică a tablelor. Class ArrayList - E specifică tipul de obiecte pe care le poate deține un tablou. Aici, tabloul creat este unul variabil și poate crește sau scade în funcție de alocarea obiectului. Vector :: clasa Vector - E reprezintă tipul de obiect care va fi stocat în tablou.

Cursuri recomandate

  • Curs de formare a structurilor de date și algoritmi
  • Cursuri de gestionare a defectelor
  • Programare Shell pe programul Cygwin

Tabelul de comparație între Java Vector și ArrayList

Urmează tabelul de comparație între Java Vector și ArrayList

Baza pentru comparațieVectoriiArrayList
De bazăVectorul este clasa moștenire și este sincronizatăArrayList nu este clasa moștenire și nu este sincronizată.
mărimeaAproape că va dubla dimensiunea dacă va crește un număr total de elementeArrayList va crește cu 50% din dimensiunea sa dacă numărul de elemente va crește
Creșterea datelorVectorii cresc și se micșorează dinamic pentru a menține o utilizare optimă a stocăriiArrayList crește și micșorează dinamic pentru a menține o utilizare optimă a stocării
InterfațăVector Utilizează interfața Iterator și EnumerareArrayList utilizează interfața Iterator
PerformanţăVectorul este lent în comparație cu ArrayList, deoarece este sincronizatArrayList este rapid din cauza necronizării
Fir de sigurantadaNu
Introducere înIntroduceți în versiunea JDK 1.0Introducere în versiunea JDK 1.2
Setați dimensiunea de creștereVectorul definește mărimea incrementuluiArrayList nu definește mărimea incrementală

Concluzie Java Vector vs ArrayList

În cele din urmă, pentru a încheia Java vector vs ArrayList, ambele au avantaje și dezavantaje. Ambele au un mare succes pe piață. ArrayList este o dată recentă dacă comparăm cu Vector. ArrayList este preferat dacă nu aveți nevoie de sincronizare. Când utilizați Vector sau ArrayList, încercați întotdeauna să inițializați cea mai mare capacitate de care programul dvs. va avea nevoie, deoarece extinderea tabloului este costisitoare. eu

ArrayList este sincronizat de ce, deoarece mai multe fire pot fi operate în același timp cu referire la tablou, dacă se adaugă un obiect la obiect, un alt fir elimină un obiect din același tablou în același timp.

Java Vector și ArrayList dețin ambele referințe la obiect. Dacă tabloul este complet ocupat și dacă dorim să adăugăm obiect nou după ocupare completă, acum în ambele cazuri dimensiunea va crește, dar diferența principală vine în dimensiune în ArrayList dacă dimensiunea nu este specificată, poate crește cu jumătate din tabloul curent, dar vectorul poate dubla dimensiunea dacă valoarea incrementală nu este specificată.

În sfârșit închei spunând că preferă întotdeauna să folosească ArrayList. De ce, deoarece ArrayList performează mai repede și mai bine în comparație cu Vector.

Articol recomandat

Acesta a fost un ghid pentru diferențele dintre Java Vector și ArrayList, semnificația lor, comparația dintre cap și cap, diferențele cheie, tabelul de comparație și concluzii. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -

  1. Performanță Java față de Python: Care sunt diferențele
  2. Scala vs Java Performance: Care este mai bine? (Infographics)
  3. Java vs JavaScript - 8 comparații utile de învățat
  4. Java vs Python - Top 9 importante comparații pe care trebuie să le înveți
  5. Java Heap vs Stack - 7 lucruri minunate pe care ar trebui să le știi
  6. C # Array vs List: Care sunt avantajele
  7. Array vs ArrayList | Top 6 diferențe