what is java vector java vector class tutorial with examples
Deze tutorial legt alles uit over vectordatastructuur in Java met voorbeelden. U leert hoe u een Java-vector in uw programma's kunt maken, initialiseren, sorteren en gebruiken:
Een vector kan worden gedefinieerd als een dynamische array die op zichzelf kan groeien of krimpen, d.w.z. de vector zal groeien wanneer er meer elementen aan worden toegevoegd en zal krimpen wanneer er elementen uit worden verwijderd.
Dit gedrag is anders dan dat van arrays die statisch zijn. Maar vergelijkbaar met arrays, kunnen vectorelementen worden benaderd met behulp van gehele getallen.
Kijk hier om AZ van Java-trainingshandleidingen hier te zien.
Een vector kan worden gezien als vergelijkbaar met een andere dynamische array-gegevensstructuur, ArrayList behalve de twee onderstaande verschillen:
- De vector is gesynchroniseerd, d.w.z. alle methoden in Vector zijn gemarkeerd als ‘gesynchroniseerd’ en als een methode eenmaal is aangeroepen, kan dezelfde methode niet worden aangeroepen, tenzij de vorige oproep is beëindigd.
- De vectorklasse heeft veel methoden die geen deel uitmaken van het verzamelingsraamwerk, maar de verouderde methoden.
Wat je leert:
- Java-vectorklasse
- Hoe maak je een vector in Java?
- Initialiseer Vector
- Vectormethoden in Java
- Vector implementatie
- Compleet vectorvoorbeeld
- Sorteer een vector
- 2D (tweedimensionale) vector
- Converteer Vector naar Array
- Vector versus matrix
- Vector versus ArrayList
- Veel Gestelde Vragen
- Gevolgtrekking
- Aanbevolen literatuur
Java-vectorklasse
Een Vector-klasse is apart van de ' java.util ”Pakket en implementeert List-interface. Een vector is een reeks objecten of vector objecten.
Een klasseverklaring van de Vector-klasse wordt hieronder gegeven:
Zoals hierboven weergegeven, breidt een Vector-klasse zich uit met ' java.lang.object ”En implementeert List, Cloneable en Serializable interfaces.
Hoe maak je een vector in Java?
U kunt een Vector-object maken met een van de volgende Vector-constructormethoden.
beste optimalisatiesoftware voor Windows 10
Constructor-prototype | Omschrijving | |
---|---|---|
Doorzichtig | Ongeldig wissen () | Wist de vector van zijn elementen. |
vector() | Dit is de standaardconstructor van de klasse Vector. Het creëert een lege vector met maat 10. | |
vector (int initialCapacity) | Deze overbelaste constructor construeert een leeg Vector-object met de capaciteit = initialCapacity. | |
vector (int initialCapacity, int capacityIncrement) | Deze constructormethode maakt een leeg Vector-object met de opgegeven initialCapacity en capacityIncrement. | |
Vector (collectie c) | Er wordt een Vector-object gemaakt met de eerste elementen uit de opgegeven collectie c. |
Laten we eens kijken naar elk van de constructors om vectorobjecten te initialiseren.
Initialiseer Vector
(i) Vector ()
Dit is de standaardconstructor van de klasse Vector. Wanneer u deze constructor aanroept, wordt een Vector-object met de standaardgrootte 10 gemaakt.
De algemene syntaxis van deze methode is:
Vectorobject = nieuwe vector ();
Bijvoorbeeld,
De bovenstaande verklaring creëert een nieuwe Vector ‘vec1’ met maat 10.
(ii) Vector (int initialCapacity)
De overbelaste constructor van de klasse Vector accepteert ‘initialCapacity’ als het argument. Deze constructor maakt een Vector-object met de opgegeven capaciteit.
De algemene syntaxis van de methode is:
Vectorobject = nieuwe vector (initialCapacity);
Bijvoorbeeld,
De bovenstaande programmeerinstructie zal een Vector-object ‘vec1’ creëren met een capaciteit van 10, d.w.z. deze Vector kan maximaal 10 elementen opslaan.
(iii) Vector (int initialCapacity, int capacityIncrement)
Dit is nog een andere overbelaste constructor van de Vector-klasse en het creëert een Vector-object met de gespecificeerde initiële capaciteit en toename voor de capaciteit.
De algemene syntaxis voor deze methode is:
Vectorobject = nieuwe vector (initialCapacity, capacityIncrement);
Bijvoorbeeld,
In de bovenstaande verklaring is de initiële capaciteit van de Vector 5 en increment 10. Dit betekent dat wanneer de 6thelement wordt ingevoegd in de vector, wordt de capaciteit van de vector verhoogd tot 15 (5 + 10). Evenzo, wanneer de 16thelement wordt ingevoegd, wordt de vectorcapaciteit van de Vector uitgebreid tot 25 (15 +10).
(iv) Vector (collectie c)
De laatste overbelaste constructor van de Vector-klasse neemt een vooraf gedefinieerde verzameling als argument en maakt een Vector met alle elementen uit deze verzameling als elementen.
De algemene syntaxis is:
Vectorobject = nieuwe vector (verzameling c);
Bijvoorbeeld,
De bovenstaande verklaring zal een Vector ‘vec1’ creëren met beginelementen als {1,2,3,4, 5}.
Door al deze beschrijvingen in gedachten te houden, kunnen we een Vector-programma implementeren om deze constructors beter te begrijpen.
Vectormethoden in Java
Hieronder volgen de methoden die worden ondersteund door de Vector-klasse in Java.
Methode naam | Voorlopig ontwerp | Omschrijving |
---|---|---|
toevoegen | Booleaanse add (E e) | Voegt een gegeven element toe aan het einde van de vector. |
Ongeldige toevoeging (int index, E-element) | Voeg element toe aan de vector bij de opgegeven index. | |
Voeg alles toe | Boolean addAll (verzameling c) | Voegt alle elementen uit de gegeven verzameling toe aan het einde van de vector. |
Boolean addAll (int index, verzameling c) | Voegt alle elementen in de opgegeven verzameling toe bij de opgegeven index. | |
addElement | void addElement (E obj) | Voegt het opgegeven element aan het einde van de vector toe door de vectorgrootte te vergroten. |
Capaciteit | Int capaciteit () | Geeft de huidige capaciteit van de vector terug. |
Kloon | Object kloon () | Kloneert de vector. |
Bevat | Boolean bevat (Object o) | Controleert of de vector een gespecificeerd element bevat. |
bevatAll | Boolean containsAll (verzameling c) | Controleert of de vector alle elementen bevat die in een bepaalde verzameling aanwezig zijn. |
copyInto | Void copyInto (Object () anArray) | Kopieert de vectorelementen naar een opgegeven array. |
ElementAt | E ElementAt (int index) | Retourneert vectorelement op opgegeven index. |
Elementen | Opsommingselementen () | Retourneert opgesomde componenten voor de vector. |
verzekerenCapaciteit | Ongeldige sureCapacity (int minCapacity) | Verhoogt de capaciteit van vector om te voldoen aan de gespecificeerde minimumcapaciteit. |
Methode naam | Voorlopig ontwerp | Omschrijving |
---|---|---|
insertElementAt | Void insertElementAt (E obj, int index) | Voegt het opgegeven object in de vector in bij de opgegeven index. |
Is gelijk aan | Boolean is gelijk aan (Object o) | Vergelijkt de huidige vector met de opgegeven vector om te controleren of ze gelijk zijn. |
firstElement | E firstElement () | Retourneert het eerste element van de vector bij index 0. |
Krijgen | E get (int index) | Retourneert het element in de vector bij de opgegeven index. |
hashCode | int hashCode () | Retourneert de hashcodewaarde voor de Vector. |
index van | int indexOf (Object o) | vindt de index van het eerste voorkomen van het gegeven element in de vector; -1 als element niet aanwezig is in de vector. |
int indexOf (Object o, int index) | Zoekt de vector van de gegeven index in voorwaartse richting naar het opgegeven element; retourneert index als element anders -1 wordt gevonden als het element niet wordt gevonden. | |
is leeg | Boolean isEmpty () | Controleert of de vector leeg is. |
Iterator | Iteratoriterator () | Geeft een iterator terug die wordt gebruikt om over de elementen van de vector te lopen. |
lastElement | E lastElement () | Retourneert het laatste element van de vector. |
lastIndexOf | Int lastIndexOf (Object o) | Zoekt in de vector naar het laatste exemplaar van een bepaald element en geeft de index terug, of geeft -1 terug als het element niet is gevonden. |
Int lastIndexOf (Object o, int index) | Begint achteruit te zoeken naar de laatste keer dat het gegeven element voorkomt uit de gegeven index. Retourneert de index als element wordt gevonden, anders retourneert -1. | |
listIterator | LijstIteratorlijstIterator () | Retourneert een lijst-iterator over de vectorelementen. |
ListIteratorlistIterator (int index) | Retourneert een lijst-iterator over de vectorelementen, beginnend bij de opgegeven index. |
Methode naam | Voorlopig ontwerp | Omschrijving |
---|---|---|
removeRange | beschermde ongeldige removeRange (int fromIndex, int toIndex) | Verwijdert alle elementen uit de vector in het opgegeven bereik van fromIndex (inclusief), totoIndex (exclusief). |
Verwijderen | E verwijderen (int index) | Verwijdert element op gegeven index uit de vector. |
Boolean remove (Object o) | Verwijdert het eerste exemplaar van het gegeven element uit de vector. Als het element niet aanwezig is, gebeurt er niets met de vector | |
Verwijder alles | Boolean removeAll (verzameling c) | Verwijdert alle elementen uit de vector die aanwezig zijn in de gegeven verzameling. |
ongeldig removeAll Elements () | Verwijdert alle vectorelementen en verkleint deze tot nul. | |
removeElement | Boolean removeElement (Object obj) | Verwijdert het eerste exemplaar van het gegeven element uit de vector. |
void removeElementAt (int index) | Verwijdert het element bij de opgegeven index. | |
keepAll | Boolean keepAll (verzameling c) | In tegenstelling tot ‘removeAll’ behoudt de methode behoudenAll elementen in de vector die overeenkomen met elementen in de opgegeven verzameling. |
set | E set (int index, E element) | Stelt de waarde in op de gegeven index met het nieuwe element opgegeven. |
Ongeldige set ElementAt (E obj, int index) | Stelt de gegeven elementen in op de gegeven index. | |
setSize | Void setSize (int newSize) | Stelt de opgegeven maat in voor deze vector. |
Grootte | int maat () | Retourneert het aantal elementen in deze vector of de lengte van de vector. |
subList | ListsubList (intfromIndex, inttoIndex) | Retourneert een weergave of sublijst van de vector, variërend van fromIndex tot toIndex. |
toArray | Object () toArray () | Converteert de gegeven vector naar een array met alle vectorelementen in een bepaalde volgorde. |
T () toArray (T () a) | Retourneert een opgegeven array van het type dat alle vectorelementen bevat. | |
toString | String toString () | Retourneert een tekenreeksweergave van de vector. |
trimToSize | leegte trimToSize () | Trimt de vector om de huidige grootte te accommoderen. |
Vector implementatie
Het volgende Java-programma demonstreert het gebruik van alle constructormethoden die hierboven zijn beschreven.
Uitgang:
Het bovenstaande programma bevat vier vectoren. De eerste v1 is gemaakt met een standaardconstructor. De tweede Vector v2 wordt gemaakt met een initiële capaciteit van 20. Vervolgens worden er enkele elementen aan v2 toegevoegd. De derde Vector wordt gemaakt met een initiële capaciteit van 30 en 10.
Vervolgens maken we een ArrayList en maken we een vierde Vector v4 met de ArrayList als argument. Ten slotte geven we de inhoud van elk van deze vectoren weer.
Let op de inhoud van de vierde Vector v4. Omdat we ArrayList als argument hebben gegeven, wordt de inhoud van ArrayList de inhoud van v4.
Compleet vectorvoorbeeld
Laten we nu nog een ander programma implementeren dat dat wel zal doen demonstreren hoe vectoren worden gemaakt, elementen eraan toevoegen en de inhoud ervan weergeven.
Uitgang:
Laten we nog een vectorvoorbeeld nemen. In dit programma zullen we dat doen gebruik een stringvector We manipuleren deze vector door elementen toe te voegen en vervolgens de grootte en capaciteit af te drukken.
Uitgang:
Sorteer een vector
U kunt een vector ook sorteren op een specifieke volgorde. Om een vector te sorteren, moet u de methode Collections.sort () van Java Collections Framework gebruiken.
Het volgende voorbeeld toont het sorteren van vectoren.
Uitgang:
Het bovenstaande programma maakt een vector van oneven getallen. Met behulp van de methode Collections.sort () wordt de vector gesorteerd.
2D (tweedimensionale) vector
Een 2D-vector is een vector die elk van zijn elementen als een vector heeft. Het kan ook worden aangeduid als ‘Vector van vectoren’.
Een voorbeeld hieronder demonstreert de 2d Vector.
Uitgang:
In het bovenstaande programma hebben we een vector van vier elementen. Vervolgens declareren we een andere vector en voegen we de vorige vector als element toe aan de tweede vector. Let op de manier waarop toegang wordt verkregen tot de elementen van de vector. Vorm de for-lus, je kunt concluderen dat het eerste element van de buitenste vector (bij index 0) de eerste of binnenste vector is.
Dus houden we in de lus de index van de buitenste vector als 0 en lopen we door de binnenste vector om alle elementen weer te geven.
Converteer Vector naar Array
Laten we eens kijken naar het volgende voorbeeld van het converteren van een vector naar een array. Om een vector naar een array te converteren, maken we gebruik van de ‘toArray’ -methode van de klasse Vector.
In het volgende programmeervoorbeeld declareren we een string Vector en voegen er elementen aan toe. Vervolgens gebruiken we de toArray-methode van de Vector-klasse om de Vector naar een String-array te converteren door het string-array-object als argument door te geven.
Uitgang:
Vector versus matrix
Hieronder vindt u enkele van de verschillen tussen een vector en een array.
Vector | Array |
---|---|
Reserveert extra opslag wanneer de capaciteit wordt verhoogd. | Reserveert geen extra opslagruimte. |
Vector is dynamisch en de grootte wordt groter en kleiner als er elementen worden toegevoegd of verwijderd. | Arrays zijn statisch en de grootte blijft vast nadat ze zijn gedeclareerd. |
Vectoren kunnen alleen objecten opslaan. | Arrays kunnen zowel primitieve typen als objecten opslaan. |
Het biedt een methode size () om de grootte te bepalen. | Biedt lengte-eigenschap om de lengte te bepalen. |
Geen conceptdimensies, maar kan worden gemaakt als een vector van vectoren, normaal gesproken 2d-vector genoemd. | Matrices ondersteunen afmetingen. |
Vector is gesynchroniseerd. | De array is niet gesynchroniseerd. |
Vector is langzamer dan de array. | Array is sneller. |
Zorgt voor typeveiligheid door generieke geneesmiddelen te ondersteunen. | Geen generieke ondersteuning. |
Vector versus ArrayList
In dit gedeelte wordt het verschil tussen Vector en ArrayList in Java besproken.
Vector | ArrayList |
---|---|
De vector heeft een stapgrootte waarmee de vectorgrootte kan worden vergroot. | ArrayList biedt geen stapgrootte. |
Aanwezig sinds de eerste versie van Java (JDK 1.0-versie). | Geïntroduceerd in Java sinds JDK 1.2 |
Vector is een oude klasse van Java. | ArrayList is een onderdeel van het Java Collections Framework. |
Vector wordt dubbel zo groot wanneer zijn capaciteit is bereikt. | ArrayList wordt met de helft groter wanneer de capaciteit is bereikt. |
Vectormethoden worden gesynchroniseerd. | ArrayList is niet gesynchroniseerd. |
Vector gebruikt Enumerator en Iterator om te doorkruisen. | ArrayList gebruikt alleen Iterator. |
Vectorbewerkingen zijn langzamer. | ArrayList is sneller. |
Vector is draadveilig, wat betekent dat het gebruik van Vector van meerdere draden is toegestaan en veilig is. | ArrayList is niet thread-safe. |
Veel Gestelde Vragen
V # 1) Wat is een vector in Java?
Antwoord: In Java kan een vector worden gedefinieerd als een reeks objecten die kunnen worden gegroeid. Net als bij arrays zijn vectorelementen ook toegankelijk met behulp van indices.
V # 2) Is vector geordend in Java?
Antwoord: Ja. Een vector wordt geordend en handhaaft de invoegvolgorde voor elementen.
V # 3) Is Vector thread-safe in Java?
Antwoord: Ja. In Java is de klasse Vector thread-safe. Omdat de Vector-klasse is gesynchroniseerd, is deze thread-safe, d.w.z. u kunt de Vector-klasse van meerdere threads gebruiken en het is veilig.
V # 4) Waarom gebruiken we vector in Java?
Antwoord: De belangrijkste reden waarom Vector in Java wordt gebruikt, is dat een Vector automatisch groeit en krimpt. Ze zijn dynamisch waardoor ze de voorkeur hebben boven arrays.
Vraag 5) Wat is beter - ArrayList of vector?
oracle sql interviewvragen voor ervaren
Antwoord: Qua prestaties is ArrayList sneller in vergelijking met Vector, omdat Vector wordt gesynchroniseerd en langzamer wordt.
Gevolgtrekking
In deze tutorial zijn we begonnen met de Vector-datastructuur in Java. Vectoren lijken bijna op een array waarin de Vector-elementen toegankelijk zijn via bekende indices. Vectoren worden dynamische array genoemd en in tegenstelling tot arrays wordt de vectorgrootte automatisch groter en kleiner.
Vectoren hebben ook de capaciteit en uitbreidingsfuncties die kunnen worden gebruikt om extra opslagruimte te creëren en te reserveren voor toekomstige toevoegingen. Vector is een oude klasse in het Java.util-pakket van Java en is zowel gesynchroniseerd als thread-safe.
We zouden dus de voorkeur moeten geven aan vectoren als we dynamische grootte nodig hebben en ook als we in een omgeving met meerdere threads werken.
Bezoek hier voor de exclusieve Java Training Tutorial Series.
Aanbevolen literatuur
- JAVA-zelfstudie voor beginners: 100+ praktische Java-videotutorials
- Zelfstudie over reflectie in Java met voorbeelden
- Java-interface en abstracte les met voorbeelden
- Jagged Array in Java - Tutorial met voorbeelden
- Zelfstudie over Java-array-lengte met codevoorbeelden
- Hoe een array in Java te sorteren - Tutorial met voorbeelden
- Java 'dit' trefwoord: zelfstudie met codevoorbeelden
- Toegang tot modificatoren in Java - Tutorial met voorbeelden