En tant que file vectorielle dans la classe collection, Vector est largement utilisé comme structure de stockage dans un environnement multithreadé. Alors, qu’est-ce qu’un Vector et comment est-il utilisé? Aujourd’hui, laissez-moi vous présenter le mode d’utilisation du vector et son introduction générale. J’espère également que vous pouvez obtenir quelque chose après avoir lu cet article
JDK version 1.8 ou ultérieure
Compilateur facile à utiliser
Un vecteur, comme arraylist, est une file d’attente héritée de abstractlist. Comme il héritait de abstractlist, il supporte les méthodes associées, ajoutant, supprimant, modifiant et traversant les fonctions de ce type. De même, il est possible d’effectuer des visites ainsi que des clonages. Il est important de noter que vector est différent de arralist, qui est thread-safe.
La structure de données du vecteur elle-même est similaire à celle de arraylist. Les deux contiennent elementData, elementCount, capacityIncrement. , ce qui signifie que l’essence du vecteur est toujours un tableau, il n’y a pas de différence essentielle. Inclut la taille d’initialisation ainsi que chaque croissance.
Dans le code source du vecteur, nous pouvons trouver que toutes les fonctions qui manipulent les données du vecteur sont synchronisées synchroniquement. En fait, le vecteur lui-même dépend de cela pour garantir sa sécurité multithreadée. Et en raison du problème de temps du mécanisme de synchronisation, il n’est pas recommandé dans les cas où la sécurité non-multithreadée et non-threadée est nécessaire, En utilisant la classe vector, et en même temps en raison des mécanismes de sauvegarde trop simples, en fait dans un environnement multithreadé, vector est rarement utilisé de nos jours.
Un vecteur est traversé de la même manière que arraylist. Comme l’essence est un tableau, le moyen le plus rapide d’y accéder est naturellement l’accès.
Voici un exemple d’introduction à l’utilisation d’un vecteur. Cela implique l’utilisation de l’api de différents vecteurs. Veuillez voir l’image ci-dessous pour plus de détails.
En tant que file multithreadée sécurisée, vector a une portée relativement large. Cependant, comme le mécanisme de sécurité est un simple verrouillage à méthode complète, sa mise en œuvre est un peu insuffisante.
Vector thread sécurité
Vector est le meilleur pour visiter