"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Classes de vecteurs et de piles

Classes de vecteurs et de piles

Publié le 2024-07-29
Parcourir:199

Vector est une sous-classe de AbstractList, et Stack est une sous-classe de Vector dans l'API Java. Le Java Collections Framework a été introduit dans Java 2. Plusieurs structures de données étaient prises en charge auparavant, parmi lesquelles les classes Vector et Stack. Ces classes ont été repensées pour s'adapter au Java Collections Framework, mais toutes leurs anciennes méthodes sont conservées pour
compatibilité.

Vector est identique à ArrayList, sauf qu'il contient des méthodes synchronisées pour accéder et modifier le vecteur. Les méthodes synchronisées peuvent empêcher la corruption des données lorsqu'un vecteur est accédé et modifié simultanément par deux ou plusieurs threads. Pour les nombreuses applications qui ne nécessitent pas de synchronisation, l'utilisation de ArrayList est plus efficace que l'utilisation de Vector.

La classe Vector étend la classe AbstractList. Il contient également les méthodes contenues dans la classe originale Vector définie avant Java 2, comme le montre la figure ci-dessous.

Image description

La plupart des méthodes de la classe Vector répertoriées dans le diagramme UML de la figure ci-dessus sont similaires aux méthodes de l'interface List. Ces méthodes ont été introduites avant le Java Collections Framework. Par exemple, addElement(Object element) est identique à la méthode add(Object element), sauf que la méthode addElement est synchronisée. Utilisez la classe ArrayList si vous n'avez pas besoin de synchronisation. Cela fonctionne beaucoup plus rapidement que Vector.

La méthode elements() renvoie une Enumeration. L'interface Enumeration a été introduite avant Java 2 et a été remplacée par l'interface Iterator. Vector est largement utilisé dans le code hérité Java car il s'agissait de l'implémentation de tableau redimensionnable Java avant Java 2.

Dans Java Collections Framework, Stack est implémenté en tant qu'extension de Vector, comme illustré dans la figure ci-dessous.

Image description

La classe Stack a été introduite avant Java 2. Les méthodes présentées dans la figure ci-dessus ont été utilisées avant Java 2. La méthode empty() est la même que isEmpty (). La méthode peek() examine l'élément en haut de la pile sans le supprimer. La méthode pop() supprime l'élément supérieur de la pile et le renvoie. La méthode push(Object element) ajoute l'élément spécifié à la pile. La méthode search(Object element) vérifie si l'élément spécifié est dans la pile.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/paulike/vector-and-stack-classes-k4?1 En cas de violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3