Maison  >  Article  >  Java  >  Classes de vecteurs et de piles

Classes de vecteurs et de piles

PHPz
PHPzoriginal
2024-07-18 17:59:51973parcourir

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 Vector originale 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn