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 metode | Ny 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 sammenligning | Vektorer | ArrayList |
Grundlæggende | Vektor er arven og den synkroniseres | ArrayList er ikke arven og det er ikke synkroniseret. |
Størrelse | Næsten det vil fordoble størrelsen, hvis et samlet antal elementer øges | ArrayList øges med 50% af dens størrelse, hvis antallet af elementer øges |
Datavækst | Vektor vokser og krymper dynamisk for at opretholde optimal brug af lagerplads | ArrayList vokser og krymper dynamisk for at opretholde optimal brug af lagerplads |
grænseflade | Vector bruger Iterator og enumeration interface | ArrayList bruger Iterator-interface |
Ydeevne | Vektoren er langsom sammenlignet med ArrayList, fordi den er synkroniseret | ArrayList er hurtig på grund af ikke-synkronisering |
Tråd sikkert | Ja | Ingen |
Introduceret i | Introduceret i JDK 1.0-lodret | Introduceret i JDK 1.2-lodret |
Indstil trinstørrelse | Vektor definerer stigningsstørrelsen | ArrayList 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 -
- Java-ydelse vs Python: Hvad er forskellene
- Scala vs Java-ydelse: Hvilken er bedre? (Infographics)
- Java vs JavaScript - 8 nyttig sammenligning at lære
- Java vs Python - Top 9 vigtige sammenligninger, du skal lære
- Java Heap vs Stack - 7 Awesome ting, du burde vide
- C # Array vs liste: Hvad er fordelene
- Array vs ArrayList | Top 6 forskelle