Heim  >  Artikel  >  Java  >  Vektor- und Stapelklassen

Vektor- und Stapelklassen

PHPz
PHPzOriginal
2024-07-18 17:59:51972Durchsuche

Vector ist eine Unterklasse von AbstractList und Stack ist eine Unterklasse von Vector in der Java-API. Das Java Collections Framework wurde in Java 2 eingeführt. Zuvor wurden mehrere Datenstrukturen unterstützt, darunter die Klassen Vector und Stack. Diese Klassen wurden neu gestaltet, um in das Java Collections Framework zu passen, aber alle ihre Methoden im alten Stil bleiben für
erhalten Kompatibilität.

Vector ist dasselbe wie ArrayList, außer dass es synchronisierte Methoden für den Zugriff auf und die Änderung des Vektors enthält. Synchronisierte Methoden können eine Datenbeschädigung verhindern, wenn zwei oder mehr Threads gleichzeitig auf einen Vektor zugreifen und ihn ändern. Für die vielen Anwendungen, die keine Synchronisierung erfordern, ist die Verwendung von ArrayList effizienter als die Verwendung von Vector.

Die Klasse Vector erweitert die Klasse AbstractList. Es verfügt auch über die Methoden, die in der ursprünglichen Klasse Vector enthalten sind, die vor Java 2 definiert wurde, wie in der Abbildung unten dargestellt.

Image description

Die meisten Methoden in der Klasse Vector, die im UML-Diagramm in der Abbildung oben aufgeführt sind, ähneln den Methoden in der Schnittstelle List. Diese Methoden wurden vor dem Java Collections Framework eingeführt. Beispielsweise ist addElement(Object element) dasselbe wie die Methode add(Object element), außer dass die Methode addElement synchronisiert ist. Verwenden Sie die Klasse ArrayList, wenn Sie keine Synchronisierung benötigen. Es funktioniert viel schneller als Vector.

Die Methode elements() gibt eine Enumeration zurück. Die Schnittstelle Enumeration wurde vor Java 2 eingeführt und durch die Schnittstelle Iterator abgelöst. Vector wird häufig in Java-Legacy-Code verwendet, da es vor Java 2 die Java-Implementierung für veränderbare Arrays war.

Im Java Collections Framework wird Stack als Erweiterung von Vector implementiert, wie in der Abbildung unten dargestellt.

Image description

Die Klasse Stack wurde vor Java 2 eingeführt. Die in der Abbildung oben gezeigten Methoden wurden vor Java 2 verwendet. Die Methode empty() ist dieselbe wie isEmpty (). Die Methode peek() betrachtet das Element oben im Stapel, ohne es zu entfernen. Die Methode pop() entfernt das oberste Element vom Stapel und gibt es zurück. Die Methode push(Object element) fügt das angegebene Element zum Stapel hinzu. Die Methode search(Object element) prüft, ob sich das angegebene Element im Stapel befindet.

Das obige ist der detaillierte Inhalt vonVektor- und Stapelklassen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn