Forskjeller mellom Java Vector vs ArrayList

Den ene vanlige definisjonen vi vil huske mens vi skriver om vektor (Java). Java-vektorer brukes ofte i stedet for matriser. Vi kan gi eksempler på det samme - Mens dataene øker automatisk, vil de utvide seg. Vi kan lage en vektor med initial størrelse eller med standard initial størrelse.

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

  • Slik lager du en vektor med standard initialstørrelse
    Vektor v = ny vektor ();
  • Slik lager du en vektor med en opprinnelig størrelse
    Vektor v = ny vektor (300);

Nedenfor er de vanlige vektormetodene ::

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

Java ArrayList er en av de enkleste og mest brukte datastrukturer i implementeringsklassene til Java API-biblioteket. Det viktigste er at den bruker en dynamisk matrise for lagring av elementene. Én ting vi bør huske når vi oppretter matriser er de som har fast lengde når disse er opprettet, kan vi ikke gjøre noen endringer.

Nedenfor er konstruktørene

ArrayList () - Det hjelper med å bygge den tomme matriselisten

ArrayList (Collection c) - Det hjelper med å bygge en liste over konstruktive elementer i en

Forhåndsdefinert samling

ArrayList (int-kapasitet) –Det hjelper med å konstruere en tom liste.

Nedenfor er de mest brukte metodene :: ::

  • Boolsk add (E obj)
  • void add (int index, E obj)
  • E get (int indeks)
  • boolsk inneholder (Object obj)
  • boolsk isEmpty ()

Java ble introdusert med en ny samling API i Java 2.0 for å gi de enhetlige strukturerte klassene. Når ny API introduseres vil det være endringer i metodene. Nå her vil vi se noen av de gamle og nye metodene som ble endret på tidspunktet for API-endring.

Gammel metodeNy metode
ObjektelementAt (int)Objekt få (int)
void insertElementAt (Objekt, int)void add (indeks, objekt)
void addElement (Object)boolsk add (Object)
void setElementAt (int)Objektsett (int, Object)
ugyldig fjerneElementAt (int)ugyldig fjern (int)
void removeAllElements ()tomt klart ()

Sammenligning fra topp mot hode mellom Java Vector vs ArrayList (Infographics)

Nedenfor er topp 8-sammenligningen mellom Java Vector vs ArrayList

Viktige forskjeller mellom Java Vector vs ArrayList

Nedenfor er listen over punkter, som beskriver nøkkelforskjellene mellom Java Vector vs ArrayList

ArrayList er ikke synkronisert og ikke trådsikker, men Vector er synkronisert og har en tråd for å ringe metoder om gangen. Men når sikkerhet kommer i en enkeltråd, er ArrayList det eneste valget, men hvis vi jobber med multetråd, må vi foretrekke vektorene. Hvis vi har noen tvil eller forvirring i data, kan vi velge vektor fordi vi i vektor kan angi økningsverdien.

En vektor kan bruke både Enumeration og Iterator-grensesnittet for å krysse over elementer, men ArrayList kan bare bruke Iterator-grensesnittet for å krysse. I vektor Hvis du bruker heltaleren, vil du ikke kunne endre heltalverdien. I vektoren har de to mest brukte metodene Neste () og neste (). ArrayLists opprettes med begynnelsesstørrelse fordi hvis objekter legger til vil det øke størrelsen og objekter fjerne størrelse vil automatisk avta.

Vektorklasse i Java implementerer et dynamisk utvalg av objekter. Det er nøyaktig identisk med matrisen, det inneholder elementer som er tilgjengelige ved hjelp av en enkel helhetsindeks. Imidlertid kan størrelsen på en vektor vokse eller krympe for å gi plass til og fjerne gjenstander etter behov.

Java Vector og ArrayList gir begge en omfangsrik gruppe som betyr matrise som kan øke plassen. Java gir vektorklasse for å gi dynamiske størrelser, generiske og nyttige forhåndsdefinerte metoder (vi har allerede sett metodene på side1). Bruk en matrise hvis størrelsen er fast; bruk Vector hvis størrelsen kan endre seg. Både Java Vector og ArrayList er indeksbasert og bruker matrisen internt, og både Java Vector vs ArrayList opprettholder innsettingsrekkefølge for elementer. Java tilbyr en ArrayList-klasse for å gi lignende funksjoner som vektordynamiske, generiske og nyttige forhåndsdefinerte metoder.

Java Vector og ArrayList begge klasser som brukes til dynamisk bruk av matriser. Class ArrayList - E spesifiserer typen objekter som en matrise kan inneholde. Her opprettet array er variabel en, og den kan øke eller redusere basert på objektfordelingen. Vektor :: klasse Vector - E representerer typen objekt som vil bli lagret i matrisen.

Anbefalte kurs

  • Datakonstruksjoner og algoritmer
  • Kurs for defektstyring
  • Shell-programmering på Cygwin-programmet

Sammenligningstabell mellom Java Vector vs ArrayList

Følgende er sammenligningstabellen mellom Java Vector vs ArrayList

Grunnlag for sammenligningvektorerArraylist
grunn~~POS=TRUNCVektor er arven klassen og den er synkronisertArrayList er ikke arven klasse, og den er ikke synkronisert.
StørrelseNesten den vil doble størrelsen hvis totalt antall elementer økteArrayList vil øke med 50% av størrelsen hvis antall elementer økte
Data vekstVektor vokser og krymper dynamisk for å opprettholde optimal bruk av lagringArrayList vokser og krymper dynamisk for å opprettholde optimal bruk av lagring
InterfaceVector bruker Iterator og Enumeration-grensesnittArrayList bruker Iterator-grensesnitt
OpptredenVektoren er treg sammenlignet med ArrayList fordi den er synkronisertArrayList er rask på grunn av ikke-synkronisering
Tråd trygtJaNei
Introdusert iIntrodusert i JDK 1.0 vertionIntrodusert i JDK 1.2 vertion
Angi økningsstørrelseVektor definerer trinnstørrelsenArrayList definerer ikke trinnstørrelsen

Konklusjon Java Vector vs ArrayList

Til slutt å konkludere Java-vektor vs ArrayList har begge fordeler og ulemper. Begge har meget suksess i markedet. ArrayList er den siste tiden hvis vi sammenligner med Vector. ArrayList er å foretrekke hvis du ikke trenger synkronisering. Når du bruker Vector eller ArrayList, prøv alltid å initialisere den største kapasiteten som programmet ditt trenger, fordi det er kostbart å utvide matrisen. Jeg

ArrayList er synkronisert, fordi fordi mer enn en tråd kan betjenes på matrisen samtidig. Med henvisning til matrisen hvis en tråd legger til objektet, fjerner en annen tråd et objekt fra samme array på samme tid.

Java Vector og ArrayList har begge objektreferanser. Hvis matrisen er fullt okkupert og hvis vi vil legge til en ny gjenstand etter fullstendig okkupert, vil nå i begge tilfeller størrelsen øke, men hovedforskjellen kommer i størrelse i ArrayList hvis størrelsen ikke er spesifisert, kan den øke med halvparten av den nåværende arrayen, men vektor kan doble størrelsen hvis økningsverdien ikke er spesifisert.

Jeg avslutter til slutt med å si at alltid foretrekker å bruke ArrayList. Hvorfor fordi ArrayList presterer raskere og bedre sammenlignet med Vector.

Anbefalt artikkel

Dette har vært en guide til forskjeller mellom Java Vector vs ArrayList, deres betydning, sammenligning av topp mot hod, nøkkelforskjeller, sammenligningstabell og konklusjon. Du kan også se på følgende artikler for å lære mer -

  1. Java Performance vs Python: Hva er forskjellene
  2. Scala vs Java-ytelse: Hvilken er bedre? (Infografikk)
  3. Java vs JavaScript - 8 nyttig sammenligning å lære
  4. Java vs Python - Topp 9 viktige sammenligninger du må lære
  5. Java Heap vs Stack - 7 Awesome Thing You Should Know
  6. C # Array vs List: Hva er fordelene
  7. Array vs ArrayList | Topp 6 forskjeller