Java-Vector-Klasse
Die Vector-Klasse implementiert ein dynamisches Array. Sie ähnelt ArrayList, aber die beiden unterscheiden sich:
| Funktionen | Vektor | ArrayList |
|---|---|---|
| Synchronisation | Synchronisiert (threadsicher) | Nicht synchronisiert |
| Leistung | Langsamer | Schneller |
| Kapazitätsinkrement | Kann angegeben werden | Fest (50%) |
| Iterator | fail-fast | fail-fast |
| Eingeführt in Version | Java 1.0 | Java 1.2 |
Funktionen:
Synchronisiert: Vector ist threadsicher, alle Methoden sind synchronisiert
Dynamische Erweiterung: Er wächst automatisch, wenn die Anzahl der Elemente die aktuelle Kapazität überschreitet
Legacy-Klasse: Obwohl sie noch verwendbar ist, wird im Allgemeinen ArrayList empfohlen
Implementiert die RandomAccess-Schnittstelle: Unterstützt schnellen wahlfreien Zugriff
Vector wird hauptsächlich verwendet, wenn Sie die Größe des Arrays nicht im Voraus kennen oder wenn Sie einfach ein Array benötigen, dessen Größe sich ändern kann.
Die Vector-Klasse unterstützt 4 Konstruktormethoden.
Der erste Konstruktor erstellt einen Standard-Vektor mit einer Standardgröße von 10:
Vector()
Der zweite Konstruktor erstellt einen Vektor mit einer angegebenen Größe.
Vector(int size)
Der dritte Konstruktor erstellt einen Vektor mit einer angegebenen Größe, und das Inkrement wird durch incr angegeben. Das Inkrement gibt die Anzahl der Elemente an, um die der Vektor jedes Mal wächst.
Vector(int size,int incr)
Der vierte Konstruktor erzeugt einen Vektor, der die Elemente der Sammlung c enthält:
Vector(Collection c)
Zusätzlich zu den von der Elternklasse geerbten Methoden definiert Vector auch die folgenden Methoden:
Häufige Operationen
Beispiel
boolean add(E e) // Element am Ende hinzufügen
void add(int index, E element) // Element an der angegebenen Position einfügen
boolean addAll(Collection<? extends E> c) // Alle Elemente aus der Sammlung hinzufügen
// Elemente abrufen
E get(int index) // Element an der angegebenen Position abrufen
E firstElement() // Erstes Element abrufen
E lastElement() // Letztes Element abrufen
// Elemente entfernen
E remove(int index) // Element an der angegebenen Position entfernen und zurückgeben
boolean remove(Object o) // Erstes Vorkommen des angegebenen Elements entfernen
void clear() // Alle Elemente entfernen
// Weitere Operationen
int size() // Anzahl der Elemente zurückgeben
int capacity() // Aktuelle Kapazität zurückgeben
void ensureCapacity(int minCapacity) // Mindestens die minimale Kapazität sicherstellen
void trimToSize() // Die Kapazität an die aktuelle Größe anpassen
boolean contains(Object o) // Prüfen, ob es das angegebene Element enthält
int indexOf(Object o) // Index des ersten Vorkommens des Elements zurückgeben
| Nein. | Methodenbeschreibung |
|---|---|
| 1 |
void add(int index, Object element) Fügt das angegebene Element an der angegebenen Position in diesen Vektor ein. |
| 2 |
boolean add(Object o) Hängt das angegebene Element an das Ende dieses Vektors an. |
| 3 |
boolean addAll(Collection c) Hängt alle Elemente in der angegebenen Collection an das Ende dieses Vektors an, in der Reihenfolge, die vom Iterator der angegebenen Collection zurückgegeben wird. |
| 4 |
boolean addAll(int index, Collection c) Fügt alle Elemente in der angegebenen Collection an der angegebenen Position in diesen Vektor ein. |
| 5 |
void addElement(Object obj) Fügt die angegebene Komponente am Ende dieses Vektors hinzu und erhöht seine Größe um 1. |
| 6 |
int capacity() Gibt die aktuelle Kapazität dieses Vektors zurück. |
| 7 |
void clear() Entfernt alle Elemente aus diesem Vektor. |
| 8 |
Object clone() Gibt eine Kopie dieses Vektors zurück. |
| 9 |
boolean contains(Object elem) Gibt true zurück, wenn dieser Vektor das angegebene Element enthält. |
| 10 |
boolean containsAll(Collection c) Gibt true zurück, wenn dieser Vektor alle Elemente in der angegebenen Collection enthält. |
| 11 |
void copyInto(Object[] anArray) Kopiert die Komponenten dieses Vektors in das angegebene Array. |
| 12 |
Object elementAt(int index) Gibt die Komponente am angegebenen Index zurück. |
| 13 |
Enumeration elements() Gibt eine Enumeration der Komponenten dieses Vektors zurück. |
| 14 |
void ensureCapacity(int minCapacity) Erhöht die Kapazität dieses Vektors (falls erforderlich), um sicherzustellen, dass er mindestens die Anzahl der Komponenten aufnehmen kann, die durch das Argument für die Mindestkapazität angegeben ist. |
| 15 |
boolean equals(Object o) Vergleicht das angegebene Objekt mit diesem Vektor auf Gleichheit. |
| 16 |
Object firstElement() Gibt die erste Komponente (das Element am Index 0) dieses Vektors zurück. |
| 17 |
Object get(int index) Gibt das Element an der angegebenen Position in diesem Vektor zurück. |
| 18 |
int hashCode() Gibt den Hashcode-Wert für diesen Vektor zurück. |
| 19 |
int indexOf(Object elem) Gibt den Index des ersten Vorkommens des angegebenen Elements in diesem Vektor zurück oder -1, wenn dieser Vektor das Element nicht enthält. |
| 20 |
int indexOf(Object elem, int index) Gibt den Index des ersten Vorkommens des angegebenen Elements in diesem Vektor zurück, wobei ab index vorwärts gesucht wird, oder -1, wenn das Element nicht gefunden wird. |
| 21 |
void insertElementAt(Object obj, int index) Fügt das angegebene Objekt als Komponente an dem angegebenen Index in diesen Vektor ein. |
| 22 |
boolean isEmpty() Prüft, ob dieser Vektor keine Komponenten enthält. |
| 23 |
Object lastElement() Gibt die letzte Komponente dieses Vektors zurück. |
| 24 |
int lastIndexOf(Object elem) Gibt den Index des letzten Vorkommens des angegebenen Elements in diesem Vektor zurück; gibt -1 zurück, wenn dieser Vektor das Element nicht enthält. |
| 25 |
int lastIndexOf(Object elem, int index) Gibt den Index des letzten Vorkommens des angegebenen Elements in diesem Vektor zurück, wobei rückwärts ab index gesucht wird, oder -1, wenn das Element nicht gefunden wird. |
| 26 |
Object remove(int index) Entfernt das Element an der angegebenen Position in diesem Vektor. |
| 27 |
boolean remove(Object o) Entfernt das erste Vorkommen des angegebenen Elements in diesem Vektor; wenn der Vektor das Element nicht enthält, bleibt das Element unverändert. |
| 28 |
boolean removeAll(Collection c) Entfernt aus diesem Vektor alle Elemente, die in der angegebenen Collection enthalten sind. |
| 29 |
void removeAllElements() Entfernt alle Komponenten aus diesem Vektor und setzt seine Größe auf null. |
| 30 |
boolean removeElement(Object obj) Entfernt das erste (mit dem niedrigsten Index) Vorkommen des Arguments aus diesem Vektor. |
| 31 |
void removeElementAt(int index) Löscht die Komponente am angegebenen Index. |
| 32 |
protected void removeRange(int fromIndex, int toIndex) Entfernt aus dieser List alle Elemente, deren Index zwischen fromIndex (einschließlich) und toIndex (ausschließlich) liegt. |
| 33 |
boolean retainAll(Collection c) Behält nur die Elemente in diesem Vektor, die in der angegebenen Collection enthalten sind. |
| 34 |
Object set(int index, Object element) Ersetzt das Element an der angegebenen Position in diesem Vektor durch das angegebene Element. |
| 35 |
void setElementAt(Object obj, int index) Setzt die Komponente am angegebenen Index dieses Vektors auf das angegebene Objekt. |
| 36 |
void setSize(int newSize) Setzt die Größe dieses Vektors. |
| 37 |
int size() Gibt die Anzahl der Komponenten in diesem Vektor zurück. |
| 38 |
List subList(int fromIndex, int toIndex) Gibt eine Teilansicht dieser List zurück, wobei die Elemente von fromIndex (einschließlich) bis toIndex (ausschließlich) reichen. |
| 39 |
Object[] toArray() Gibt ein Array zurück, das alle Elemente dieses Vektors in der richtigen Reihenfolge enthält. |
| 40 |
Object[] toArray(Object[] a) Gibt ein Array zurück, das alle Elemente dieses Vektors in der richtigen Reihenfolge enthält; der Laufzeittyp des zurückgegebenen Arrays ist der des angegebenen Arrays. |
| 41 |
String toString() Gibt eine Zeichenfolgendarstellung dieses Vektors zurück, die die String-Darstellung jedes Elements enthält. |
| 42 |
void trimToSize() Kürzt die Kapazität dieses Vektors auf die aktuelle Größe des Vektors. |
Beispiel
Das folgende Programm veranschaulicht mehrere von dieser Collection unterstützte Methoden:
Beispiel
public class VectorDemo {
public static void main(String args[]) {
// Anfangsgröße ist 3, Inkrement ist 2
Vector v = new Vector(3, 2);
System.out.println("Anfangsgröße: " + v.size());
System.out.println("Anfangskapazität: " +
v.capacity());
v.addElement(new Integer(1));
v.addElement(new Integer(2));
v.addElement(new Integer(3));
v.addElement(new Integer(4));
System.out.println("Kapazität nach vier Hinzufügungen: " +
v.capacity());
v.addElement(new Double(5.45));
System.out.println("Aktuelle Kapazität: " +
v.capacity());
v.addElement(new Double(6.08));
v.addElement(new Integer(7));
System.out.println("Aktuelle Kapazität: " +
v.capacity());
v.addElement(new Float(9.4));
v.addElement(new Integer(10));
System.out.println("Aktuelle Kapazität: " +
v.capacity());
v.addElement(new Integer(11));
v.addElement(new Integer(12));
System.out.println("Erstes Element: " +
(Integer)v.firstElement());
System.out.println("Letztes Element: " +
(Integer)v.lastElement());
if(v.contains(new Integer(3)))
System.out.println("Vektor enthält 3.");
// Elemente im Vektor aufzählen.
Enumeration vEnum = v.elements();
System.out.println("\nElemente im Vektor:");
while(vEnum.hasMoreElements())
System.out.print(vEnum.nextElement() + " ");
System.out.println();
}
}
Das Kompilierungs- und Ausführungsergebnis des obigen Beispiels ist wie folgt:
Initial size: 0 Initial capacity: 3 Capacity after four additions: 5 Current capacity: 5 Current capacity: 7 Current capacity: 9 First element: 1 Last element: 12 Vector contains 3. Elements in vector: 1 2 3 4 5.45 6.08 7 9.4 10 11 12Andere Erweiterungen
Java-Datenstrukturen