Java.util.Vector bietet Vektorklassen (Vektoren) zur Implementierung dynamischer Array-ähnlicher Funktionen. Es gibt kein Konzept von Zeigern in der Java -Sprache, aber die korrekte und flexible Verwendung von Zeigern kann die Qualität des Programms erheblich verbessern. Zum Beispiel werden das sogenannte "dynamische Array" in C und C ++ von Zeigern im Allgemeinen implementiert. Um diesen Mangel auszugleichen, bietet Java eine reichhaltige Klassenbibliothek für die einfache Verwendung durch Programmierer, und die Vektorklasse ist eine davon. Tatsächlich kann die Flexibilität bei der Verwendung von Arrays auch die Funktionen von Vektorklassen erfüllen, aber die große Anzahl von Methoden, die in Vektorklassen bereitgestellt werden, erleichtert die Verwendung der Benutzer erheblich.
Nachdem Sie ein Objekt einer Vektorklasse erstellt haben, können Sie Objekte unterschiedlicher Klassen nach Belieben einfügen, dh Sie müssen den Typ oder die Kapazität des vorgewählten Vektors nicht berücksichtigen und problemlos suchen. In Situationen, in denen Sie keine vordefinierte Arraygröße kennen oder nicht bereit sind und die Arbeit häufig suchen, einfügen und löschen müssen. Sie können in Betracht ziehen, Vektorklassen zu verwenden.
Die Vektorklasse implementiert ein dynamisches Array. Es ähnelt ArrayList, aber die beiden sind unterschiedlich:
Die Vektorklasse unterstützt 4 Baumethoden.
1. Der erste Konstruktor erstellt einen Standardvektor mit einer Standardgröße von 10:
Vektor()
2. Die zweite Konstruktionsmethode erzeugt einen Vektor einer bestimmten Größe.
Vektor (intgröße)
3. Die dritte Konstruktionsmethode erzeugt einen Vektor einer bestimmten Größe, und das Inkrement wird durch Inkretierung angegeben. Das Inkrement repräsentiert die Anzahl der Elemente, die der Vektor zu jedem Zeitpunkt erhöht.
Vektor (intgröße, int inkret
4. Der vierte Konstruktor erstellt einen Vektor, der die festgelegten C -Elemente enthält:
Vektor (Sammlung c)
Das System verwaltet die Vektoren automatisch mithilfe der ersten Methode, wenn die beiden letzten Methoden verwendet werden. Das System setzt die Kapazität des Vektorobjekts (dh die Größe der Daten, die das Vektorobjekt speichern kann) entsprechend den Parametern und wenn die Anzahl der gespeicherten Daten tatsächlich die Kapazität überschreitet. Das System erweitert die Speicherkapazität von Vektorobjekten.
Die Parameterkapazitätsinkrements gibt den Expansionswert für jede Expansion an. Wenn die Kapazitätsinkrements 0 beträgt, wird die Expansion nicht verdoppelt. Diese Funktion kann verwendet werden, um den Speicher zu optimieren. In der Vektorklasse werden verschiedene Methoden bereitgestellt, um die Verwendung der Benutzer zu erleichtern:
Funktion einfügen:
(1) Öffentliche endgültige synchronisierte Leere Adddelement (Objekt OBJ)
Fügen Sie OBJ in den Schwanz des Vektors ein. OBJ kann jede Art von Objekt sein. Für dasselbe Vektorobjekt können auch verschiedene Arten von Objekten in sie eingefügt werden. Der Einsatz sollte jedoch eher ein Objekt als ein numerischer Wert sein. Wenn Sie also einen numerischen Wert einfügen, sollten Sie darauf achten, das Array in das entsprechende Objekt umzuwandeln.
Zum Beispiel: Wenn Sie eine Ganzzahl 1 einfügen, rufen Sie nicht v1.addelement (1). Die richtige Methode ist:
Vektor v1 = neuer Vektor (); Integer Integer1 = New Integer (1); v1.Addelement (Integer1);
(2) Öffentliche endgültige synchronisierte void setElementat (Objekt OBJ, INT INDEX)
Legen Sie das Objekt bei Index auf OBJ fest, und das ursprüngliche Objekt wird überschrieben.
(3) Öffentliche endgültige synchronisierte Hohlraumeinfügung (Objekt OBJ, INT -Index)
Fügen Sie OBJ an der im Index angegebenen Position ein, und das ursprüngliche Objekt und die nachfolgenden Objekte werden wiederum verschoben.
Funktion löschen:
(1) Öffentliche endgültige synchronisierte Hohlraumentfernung (Objekt OBJ)
OBJ aus dem Vektor löschen. Wenn es mehrere Existenz gibt, beginnen Sie mit dem Vektorheader und löschen Sie das erste Vektorelement, das mit dem gleichen wie OBJ gefunden wurde.
(2) öffentliche endgültige synchronisierte Leere entfernt ();
Löschen Sie alle Objekte im Vektor
(3) öffentliches fianl synchronisierter Hohlraum REMENELEMENTAT (INT INDEX)
Löschen Sie das Objekt, auf das sich der Index bezieht
Suchfunktion Abfrage:
(1) Public Final Int Indexof (Objekt OBJ)
Suchen Sie vom Vektor -Header nach OBJ und geben Sie das Einweis zurück, das dem ersten OBJ entspricht. Wenn dieser OBJ nicht existiert, geben Sie -1 zurück.
(2) Öffentliche endgültige synchronisierte intindexof (Object OBJ, Int Index)
Suchen Sie aus dem durch den Index angegebenen Index nach OBJ.
(3) Public Final INT lastIndexof (Objekt OBJ)
Inverse Suche nach OBJ aus dem Schwanz des Vektors.
(4) öffentliches endgültiges synchornisiertes int lastIndex (Object OBJ, int Index)
Suchen Sie OBJ im umgekehrten vom Ende bis zum Kopf aus dem durch den Index angegebenen Index.
(5) öffentliches Final Synchornized FirstElement ()
Holen Sie sich den ersten OBJ in einem Vektorobjekt
(6) öffentliches endgültiges synchornisiertes Objekt LastElement ()
Holen Sie sich den letzten OBJ des Vektorobjekts
Beispiel
Das folgende Programm erläutert verschiedene Methoden, die durch diese Sammlung unterstützt werden:
Java.util importieren. System.out.println ("Anfangsgröße:" + v.size ()); System.out.println ("Anfangskapazität:" + v.Capacity ()); V.Addelement (neue Ganzzahl (1)); V.Addelement (neue Ganzzahl (2)); V.Addelement (neue Ganzzahl (3)); V.Addelement (neue Ganzzahl (4)); System.out.println ("Kapazität nach vier Zusätzen:" + v.Capacity ()); V.Addelement (neues Double (5.45)); System.out.println ("Aktuelle Kapazität:" + v.Capacity ()); V.Addelement (neues Double (6.08)); V.Addelement (neue Ganzzahl (7)); System.out.println ("Aktuelle Kapazität:" + v.Capacity ()); V.Addelement (neuer Float (9,4)); V.Addelement (neue Ganzzahl (10)); System.out.println ("Aktuelle Kapazität:" + v.Capacity ()); V.Addelement (neue Ganzzahl (11)); V.Addelement (neue Ganzzahl (12)); System.out.println ("Erstes Element:" + (Integer) v.Firstelement ()); System.out.println ("Letzte Element:" + (Integer) v.LastElement ()); if (v.contains (New Integer (3)) System.out.println ("Vektor enthält 3."); // Die Elemente im Vektor aufzählen. Aufzählung venum = v.elements (); System.out.println ("/nelements in Vector:"); while (venum.hasmoreElements ()) system.out.print (venum.nextElement () + ""); System.out.println (); }}Die obigen Beispielkompilierungs- und Betriebsergebnisse sind wie folgt:
Anfangsgröße: 0Initielle Kapazität: 3Capacity Nach vier Hinzufügung: 5 Erzählungskapazität: 5 Stromversorgungskapazität: 7 -Jährige Kapazität: 9First Element: 1Last Element: 12Vector enthält 3. Elemente im Vektor: 1 2 3 4 5,45 6.08 7 9.4 10 11 12