Verschillen tussen Java Vector en ArrayList

De enige gemeenschappelijke definitie die we zullen onthouden tijdens het schrijven over vector (Java). Java-vectoren worden vaak gebruikt in plaats van arrays. We kunnen voorbeelden geven voor hetzelfde - Terwijl de gegevens automatisch toenemen, zullen ze uitbreiden. We kunnen een vector maken met de initiële grootte of met de standaard initiële grootte.

We zien de code voor standaard initiële grootte of initiële grootte ::

  • Om een ​​vector met standaard begingrootte te maken
    Vector v = nieuwe Vector ();
  • Een vector met een begingrootte maken
    Vector v = nieuwe Vector (300);

Hieronder staan ​​de algemene vectormethoden:

  • toe te voegen (o)
  • Doorzichtig()
  • firstElement (i)
  • listIterator ()
  • grootte()
  • toArray (Object ())

Java ArrayList is een van de eenvoudigste en meest gebruikte gegevensstructuur in de implementatieklassen van de Java API-bibliotheek. Het belangrijkste is dat het een dynamische array gebruikt voor het opslaan van de elementen. Een ding dat we moeten onthouden tijdens het maken van arrays zijn die met een vaste lengte zodra deze zijn gemaakt, kunnen we geen wijzigingen meer aanbrengen.

Hieronder staan ​​de constructeurs

ArrayList () - Het helpt bij het samenstellen van de lege matrixlijst

ArrayList (Collectie c) - Het helpt bij het samenstellen van een lijst met constructieve elementen in een

Vooraf gespecificeerde verzameling

ArrayList (int capacity) –Het helpt bij het samenstellen van een lege lijst.

Hieronder staan ​​de meest gebruikte methoden: ::

  • Boolean add (E obj)
  • void add (int index, E obj)
  • E get (int index)
  • boolean bevat (Object obj)
  • boolean isEmpty ()

Java werd geïntroduceerd met een nieuwe verzameling API in Java 2.0 om de uniforme gestructureerde klassen te bieden. Wanneer een nieuwe API wordt geïntroduceerd, zullen de methoden worden gewijzigd. Hier zien we enkele van de oude en nieuwe methoden die zijn gewijzigd op het moment van API-wijziging.

Oude methodeNieuwe methode
Object elementAt (int)Object ophalen (int)
void insertElementAt (Object, int)void add (index, Object)
void addElement (Object)boolean add (Object)
void setElementAt (int)Objectenset (int, Object)
void removeElementAt (int)void remove (int)
void removeAllElements ()void clear ()

Head to Head-vergelijking tussen Java Vector en ArrayList (Infographics)

Hieronder vindt u de Top 8-vergelijking tussen Java Vector en ArrayList

Belangrijkste verschillen tussen Java Vector versus ArrayList

Hieronder staan ​​de lijst met punten, beschrijf de belangrijkste verschillen tussen Java Vector versus ArrayList

ArrayList is niet-gesynchroniseerd en niet thread-safe maar Vector is gesynchroniseerd en heeft één thread om methoden tegelijk aan te roepen. Maar als het om een ​​geval met één draad gaat, is ArrayList de enige keuze, maar als we aan multithreading werken, moeten we de voorkeur geven aan de vectoren. Als we twijfels of verwarring hebben in gegevens, kunnen we vector selecteren omdat we in vector de incrementwaarde kunnen instellen.

Een vector kan zowel de Enumeratie- als de Iterator-interface gebruiken om elementen te doorkruisen, maar ArrayList kan de Iterator-interface alleen gebruiken voor het doorkruisen. In vector Als u de Integer-wrapper gebruikt, kunt u de waarde van het gehele getal niet wijzigen. In de vector hebben de twee meest gebruikte methoden Next () en next (). ArrayLists worden met de oorspronkelijke grootte gemaakt, want als objecten worden toegevoegd, neemt de grootte toe en worden de objecten automatisch verwijderd.

Vectorklasse in Java implementeert een dynamische reeks objecten. Het is exact identiek aan de array, het bevat elementen die toegankelijk zijn via een eenvoudige integer-index. De grootte van een vector kan echter groeien of krimpen om items toe te voegen en te verwijderen als dat nodig is.

Java Vector en ArrayList bieden beide een re-sizable array die een array betekent die de ruimte kan vergroten. Java biedt vectorklasse om dynamische grootte, generieke en nuttige vooraf gedefinieerde methoden te bieden (we zagen de methoden al in pagina 1). Gebruik een array als de grootte vast is; gebruik Vector als de grootte kan veranderen. Zowel Java Vector als ArrayList zijn op index gebaseerd en gebruiken de array intern en beide Java Vector versus ArrayList handhaven de volgorde van invoeging van elementen. Java biedt een ArrayList-klasse die vergelijkbare functies biedt als Vector-dynamische, generieke en nuttige vooraf gedefinieerde methoden.

Java Vector en ArrayList beide klassen die worden gebruikt voor dynamisch gebruik van arrays. Class ArrayList - E geeft het type objecten aan dat een array kan bevatten. Hier gecreëerde array is variabel één en deze kan toenemen of afnemen op basis van de objecttoewijzing. Vector :: class Vector - E staat voor het type object dat in de array wordt opgeslagen.

Aanbevolen cursussen

  • Datastructuren en algoritmen Trainingscursus
  • Defect Management cursussen
  • Shell-programmering op Cygwin-programma

Vergelijkingstabel tussen Java Vector en ArrayList

Hierna volgt de vergelijkingstabel tussen Java Vector versus ArrayList

Basis voor vergelijkingvectorenArrayList
basis-Vector is de legacy-klasse en deze is gesynchroniseerdArrayList is niet de legacy-klasse en is niet gesynchroniseerd.
GrootteBijna verdubbelt het de grootte als een totaal aantal elementen toeneemtArrayList zal met 50% van zijn grootte toenemen als het aantal elementen toeneemt
DatagroeiVector groeit en krimpt dynamisch om optimaal gebruik van opslag te behoudenArrayList groeit en krimpt dynamisch om optimaal gebruik van opslag te behouden
KoppelVector maakt gebruik van een Iterator- en Enumeration-interfaceArrayList Gebruikt Iterator-interface
PrestatieVector is traag in vergelijking met ArrayList omdat deze is gesynchroniseerdArrayList is snel vanwege niet-synchronisatie
Draad veiligJaNee
Geïntroduceerd inGeïntroduceerd in JDK 1.0 vertionGeïntroduceerd in JDK 1.2 vertion
Stel de incrementgrootte inVector definieert de incrementgrootteArrayList definieert de incrementgrootte niet

Conclusie Java Vector vs ArrayList

Tot slot om te concluderen dat Java vector versus ArrayList beide voor- en nadelen hebben. Beide zijn zeer succesvol in de markt. ArrayList is de recente keer als we vergelijken met Vector. ArrayList heeft de voorkeur als u geen synchronisatie nodig hebt. Wanneer u Vector of ArrayList gebruikt, probeer dan altijd de grootste capaciteit te initialiseren die uw programma nodig heeft, omdat het uitbreiden van de array kostbaar is. ik

ArrayList is gesynchroniseerd, omdat meer dan één thread tegelijkertijd op de array kan worden bediend. Met verwijzing naar de array als een thread aan het object toevoegt, verwijdert een andere thread tegelijkertijd een object uit dezelfde array.

Java Vector en ArrayList bevatten beide objectverwijzingen. Als de array volledig bezet is en als we een nieuw object willen toevoegen nadat deze volledig bezet is, zal de grootte nu in beide gevallen toenemen, maar het belangrijkste verschil komt in grootte in ArrayList als de grootte niet is opgegeven, kan deze met de helft van de huidige array toenemen, maar vector kan de grootte verdubbelen als de incrementwaarde niet is opgegeven.

Ik besluit uiteindelijk met te zeggen dat altijd de voorkeur geeft aan ArrayList. Waarom omdat ArrayList sneller en beter presteert in vergelijking met Vector.

Aanbevolen artikel

Dit is een gids geweest voor verschillen tussen Java Vector en ArrayList, hun betekenis, vergelijking van persoon tot persoon, belangrijkste verschillen, vergelijkingstabel en conclusie. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Java Performance vs Python: Wat zijn de verschillen
  2. Scala versus Java-prestaties: welke is beter? (Infographics)
  3. Java versus JavaScript - 8 Nuttige vergelijking om te leren
  4. Java versus Python - Top 9 belangrijke vergelijkingen die u moet leren
  5. Java Heap vs Stack - 7 Geweldig ding dat je moet weten
  6. C # Array vs List: wat zijn de voordelen
  7. Array versus ArrayList | Top 6 verschillen