Forskelle mellem Java Vector vs ArrayList

Den ene almindelige definition vi vil huske, mens vi skriver om vektor (Java). Java-vektorer bruges ofte i stedet for arrays. Vi kan give eksempler på det samme - Mens dataene automatisk stiger, udvides de. Vi kan oprette en vektor med initial størrelse eller med standard initial størrelse.

Vi vil se koden for standard initialstørrelse eller startstørrelse ::

  • Sådan opretter du en vektor med standardstørrelse
    Vector v = ny vektor ();
  • Sådan opretter du en vektor med en initial størrelse
    Vektor v = ny vektor (300);

Nedenfor er de almindelige vektormetoder ::

  • tilføje (o)
  • klar()
  • firstElement (i)
  • listIterator ()
  • størrelse()
  • toArray (Object ())

Java ArrayList er en af ​​de enkleste og mest anvendte datastrukturer i implementeringsklasserne i Java API-biblioteket. Det vigtigste er, at det bruger en dynamisk matrix til opbevaring af elementerne. En ting, vi skal huske, mens vi opretter arrays, er dem, der har fast længde, når disse er oprettet, kan vi ikke foretage nogen ændringer.

Nedenfor er konstruktørerne

ArrayList () - Det hjælper med at opbygge den tomme matrixliste

ArrayList (Collection c) - Det hjælper med at opbygge en liste over konstruktive elementer i en

Forud specificeret samling

ArrayList (int-kapacitet) –Det hjælper med at konstruere en tom liste.

Nedenfor er de mest anvendte metoder :: ::

  • Boolsk tilføjelse (E obj)
  • void add (int index, E obj)
  • E get (int-indeks)
  • boolsk indeholder (Object obj)
  • boolsk er tom ()

Java blev introduceret med en ny samling af API i Java 2.0 for at give de ensartede strukturerede klasser. Når ny API introduceres, vil der være ændringer i metoderne. Nu vil vi se nogle af de gamle og nye metoder, der blev ændret på tidspunktet for API-ændring.

Gammel metodeNy metode
ObjektelementAt (int)Objekt få (int)
void insertElementAt (Objekt, int)void add (indeks, objekt)
void addElement (Object)boolsk tilføjelse (Objekt)
void setElementAt (int)Objekt sæt (int, Object)
void removeElementAt (int)tomrum fjern (int)
void removeAllElements ()tomt ryddet ()

Sammenligning mellem head-to-head mellem Java Vector vs ArrayList (Infographics)

Nedenfor er Top 8-sammenligningen mellem Java Vector vs ArrayList

Vigtige forskelle mellem Java-vektor vs ArrayList

Nedenfor er lister over punkter, der beskriver de vigtigste forskelle mellem Java Vector vs ArrayList

ArrayList er ikke-synkroniseret og ikke tråd-sikker, men Vector er synkroniseret og har en tråd til opkaldsmetoder ad gangen. Men når man kommer i sikkerhed er enkeltrådssag ArrayList det eneste valg, men hvis vi arbejder på multitrådning, er vi nødt til at foretrække vektorerne. Hvis vi er i tvivl eller forvirring i data, kan vi vælge vektor, fordi vi i vektor kan indstille forøgelsesværdien.

En vektor kan bruge både Enumeration og Iterator interface til at krydse over elementer, men ArrayList kan kun bruge Iterator interface til at krydse. I vektor Hvis du bruger heltalindpakningen, kan du ikke ændre heltalværdien. I vektoren har de to mest anvendte metoder Næste () og næste (). ArrayLists oprettes med den oprindelige størrelse, fordi hvis objekter tilføjer, vil det øge størrelsen, og objekter, der fjerner størrelsen, falder automatisk.

Vektorklasse i Java implementerer en dynamisk række objekter. Det er nøjagtigt identisk med matrixen, det indeholder elementer, der er tilgængelige ved hjælp af et simpelt heltalindeks. Imidlertid kan størrelsen på en vektor vokse eller skrumpe for at rumme tilføjelse og fjernelse af elementer efter behov.

Java Vector og ArrayList leverer begge et genstørreligt array, der betyder array, der kan øge pladsen. Java leverer vektorklasse til at give dynamisk størrelse, generiske og nyttige foruddefinerede metoder (vi har allerede set metoderne på side1). Brug en matrix, hvis størrelsen er fast; Brug Vector, hvis størrelsen kan ændre sig. Både Java Vector og ArrayList er indeksbaseret og bruger array internt, og både Java Vector vs ArrayList opretholder indsættelsesrækkefølge for elementer. Java tilbyder en ArrayList-klasse, der giver lignende funktioner som vektordynamiske, generiske og nyttige foruddefinerede metoder.

Java Vector og ArrayList begge klasser, der bruges til dynamisk brug af arrays. Class ArrayList - E specificerer den type objekter, som en matrix kan indeholde. Her oprettede matrix er variabel en, og den kan øges eller formindskes baseret på objektfordelingen. Vector :: klasse Vector - E repræsenterer den type objekt, der skal gemmes i matrixen.

Anbefalede kurser

  • Datakonstruktioner og algoritmer Træningskursus
  • Kurser til defektstyring
  • Shell-programmering på Cygwin-programmet

Sammenligningstabel mellem Java Vector vs ArrayList

Følgende er sammenligningstabellen mellem Java Vector vs ArrayList

Grundlag for sammenligningVektorerArrayList
GrundlæggendeVektor er arven og den synkroniseresArrayList er ikke arven og det er ikke synkroniseret.
StørrelseNæsten det vil fordoble størrelsen, hvis et samlet antal elementer øgesArrayList øges med 50% af dens størrelse, hvis antallet af elementer øges
DatavækstVektor vokser og krymper dynamisk for at opretholde optimal brug af lagerpladsArrayList vokser og krymper dynamisk for at opretholde optimal brug af lagerplads
grænsefladeVector bruger Iterator og enumeration interfaceArrayList bruger Iterator-interface
YdeevneVektoren er langsom sammenlignet med ArrayList, fordi den er synkroniseretArrayList er hurtig på grund af ikke-synkronisering
Tråd sikkertJaIngen
Introduceret iIntroduceret i JDK 1.0-lodretIntroduceret i JDK 1.2-lodret
Indstil trinstørrelseVektor definerer stigningsstørrelsenArrayList definerer ikke forøgelsesstørrelsen

Konklusion Java Vector vs ArrayList

Endelig for at konkludere Java-vektor vs ArrayList har begge fordele og ulemper. Begge har meget succes på markedet. ArrayList er den nylige gang, hvis vi sammenligner med Vector. ArrayList foretrækkes, hvis du ikke har brug for synkronisering. Når du bruger Vector eller ArrayList, prøv altid at initialisere den største kapacitet, som dit program har brug for, fordi det er dyrt at udvide matrixen. jeg

ArrayList er synkroniseret, hvorfor fordi mere end en tråd kan betjenes på arrayet på samme tid Med henvisning til arrayet, hvis en tråd tilføjer til objektet, fjerner en anden tråd et objekt fra den samme matrix på samme tid.

Java Vector og ArrayList har begge objektreferencer. Hvis matrixen er fuldt besat, og hvis vi ønsker at tilføje nyt objekt efter fuldt besat, vil nu i begge tilfælde stige stige, men hovedforskellen kommer i størrelse i ArrayList, hvis størrelse ikke er angivet, kan den øges med halvdelen af ​​den aktuelle matrix, men vektor kan fordoble størrelsen, hvis forøgelsesværdien ikke er specificeret.

Endelig afslutter jeg med at sige, at det altid foretrækker at bruge ArrayList. Hvorfor fordi ArrayList klarer sig hurtigere og bedre sammenlignet med Vector.

Anbefalet artikel

Dette har været en guide til forskelle mellem Java Vector vs ArrayList, deres betydning, sammenligning mellem hoved og hoved, nøgleforskelle, sammenligningstabel og konklusion. Du kan også se på de følgende artikler for at lære mere -

  1. Java-ydelse vs Python: Hvad er forskellene
  2. Scala vs Java-ydelse: Hvilken er bedre? (Infographics)
  3. Java vs JavaScript - 8 nyttig sammenligning at lære
  4. Java vs Python - Top 9 vigtige sammenligninger, du skal lære
  5. Java Heap vs Stack - 7 Awesome ting, du burde vide
  6. C # Array vs liste: Hvad er fordelene
  7. Array vs ArrayList | Top 6 forskelle

Kategori: