Java.util.vector fournit des classes vectorielles (vecteurs) pour implémenter des fonctions dynamiques de type tableau. Il n'y a pas de concept de pointeurs en langue java, mais l'utilisation de pointeurs correctement et de manière flexible peut considérablement améliorer la qualité du programme. Par exemple, le soi-disant "tableau dynamique" en C et C ++ est généralement mis en œuvre par les pointeurs. Afin de compenser cette lacune, Java fournit une bibliothèque de classe riche pour une utilisation facile par les programmeurs, et la classe Vector en fait partie. En fait, la flexibilité de l'utilisation de tableaux peut également remplir les fonctions des classes vectorielles, mais le grand nombre de méthodes fournies dans les classes vectorielles facilitent considérablement l'utilisation des utilisateurs.
Après avoir créé un objet d'une classe vectorielle, vous pouvez insérer des objets de différentes classes à volonté, c'est-à-dire que vous n'avez pas besoin de considérer le type ou la capacité du vecteur présélectionné et que vous pouvez facilement rechercher. Pour les situations où vous ne connaissez pas ou ne pouvez pas faire la taille du tableau prédéfinie et devez rechercher, insérer et supprimer fréquemment des travaux. Vous pouvez envisager d'utiliser des classes vectorielles.
La classe vectorielle implémente un tableau dynamique. Il est similaire à ArrayList, mais les deux sont différents:
La classe vectorielle prend en charge 4 méthodes de construction.
1. Le premier constructeur crée un vecteur par défaut avec une taille par défaut de 10:
Vecteur()
2. La deuxième méthode de construction crée un vecteur d'une taille spécifiée.
Vecteur (taille int)
3. La troisième méthode de construction crée un vecteur d'une taille spécifiée, et l'incrément est spécifié par incr. L'incrément représente le nombre d'éléments que le vecteur augmente à chaque fois.
Vecteur (taille int, int.
4. Le quatrième constructeur crée un vecteur contenant les éléments Cage C:
Vector (Collection C)
Le système gérera automatiquement les vecteurs en utilisant la première méthode, si ces deux dernières méthodes sont utilisées. Le système définira la capacité de l'objet vectoriel (c'est-à-dire la taille des données que l'objet vectoriel peut stocker) en fonction des paramètres, et lorsque le nombre de données stocké dépasse la capacité. Le système élargira la capacité de stockage des objets vectoriels.
La capacité de paramètre encrément donne la valeur d'extension pour chaque expansion. Lorsque la capacité de la capacité est de 0, l'expansion ne sera pas doublée. Cette fonction peut être utilisée pour optimiser le stockage. Diverses méthodes sont fournies dans la classe vectorielle pour faciliter l'utilisation des utilisateurs:
Fonction d'insertion:
(1) Public final synchronisé vide adddelement (objet obj)
Insérez OBJ dans la queue du vecteur. OBJ peut être n'importe quel type d'objet. Pour le même objet vectoriel, différents types d'objets peuvent également y être insérés. Mais l'insert doit être un objet plutôt qu'une valeur numérique, donc lors de l'insertion d'une valeur numérique, vous devez prêter attention à la conversion du tableau en objet correspondant.
Par exemple: lors de l'insertion d'un entier 1, n'appelez pas v1.addelement (1). La méthode correcte est:
Vecteur v1 = new vector (); Entier entier1 = nouveau entier (1); v1.addelement (Integer1);
(2) public final synchronisé vide setelementat (objet obj, int index)
Définissez l'objet à l'index sur OBJ et l'objet d'origine sera écrasé.
(3) Insertion de void synchronisé final public (objet obj, index int)
Insérez OBJ à la position spécifiée dans l'index, et l'objet d'origine et les objets suivants seront reportés à leur tour.
Supprimer la fonction:
(1.
Supprimer OBJ du vecteur. S'il y a plusieurs existences, commencez par l'en-tête vectoriel et supprimez le premier membre vecteur trouvé avec le même qu'OBJ.
(2) VOID Synchronisé final public supprimé ();
Supprimer tous les objets dans le vecteur
(3) Public Fianl synchronisé void RemoveElementat (INT INDEX)
Supprimer l'objet où l'index fait référence
Fonction de recherche de requête:
(1) Index final public INT (objet obj)
Commencez à rechercher OBJ à partir de l'en-tête vectoriel et renvoyez l'indice correspondant au premier OBJ rencontré. Si cet OBJ n'existe pas, retournez -1.
(2) public Final synchronisé IND INDEXOF (objet OBJ, INT INDEX)
Commencez à rechercher OBJ à partir de l'index indiqué par l'index.
(3) public final int lastIndexof (objet obj)
Commencer la recherche inverse de l'OBJ à partir de la queue du vecteur.
(4) public Final Synchornized Int LastIndex (Object Obj, int index)
Recherchez OBJ en sens inverse de l'extrémité à la tête de l'indice indiqué par index.
(5) Public Final Synchornized Firselement ()
Obtenez le premier obj dans un objet vectoriel
(6) Objet Synchornisé final public Lastelement ()
Obtenez le dernier obj de l'objet vectoriel
Exemple
Le programme suivant explique plusieurs méthodes soutenues par cette collection:
import java.util. *; classe publique vectorDEMO {public static void main (String args []) {// La taille initiale est 3, l'incrément est 2 vecteur v = nouveau vecteur (3, 2); System.out.println ("Taille initiale:" + v.size ()); System.out.println ("Capacité initiale:" + v.capacity ()); v.Addelement (nouvel entier (1)); v.Addelement (nouvel entier (2)); v.Addelement (nouvel entier (3)); v.Addelement (nouvel entier (4)); System.out.println ("Capacité après quatre ajouts:" + v.capacity ()); v.Addelement (nouveau double (5,45)); System.out.println ("Capacité de courant:" + v.capacity ()); v.Addelement (nouveau double (6,08)); v.Addelement (nouvel entier (7)); System.out.println ("Capacité de courant:" + v.capacity ()); v.Addelement (nouveau flotteur (9.4)); v.Addelement (nouvel entier (10)); System.out.println ("Capacité de courant:" + v.capacity ()); v.Addelement (nouvel entier (11)); v.Addelement (nouvel entier (12)); System.out.println ("Premier élément:" + (entier) v.FirstElement ()); System.out.println ("Last Element:" + (Integer) v.Lastelement ()); if (v.Contains (New Integer (3))) System.out.println ("Vector contient 3."); // Énumére les éléments du vecteur. Énumération Venum = V.Elements (); System.out.println ("/ nelements dans Vector:"); while (venum.hasmoreElements ()) System.out.print (Venum.Nexttelement () + ""); System.out.println (); }}Les résultats de la compilation et de l'opération ci-dessus sont les suivants:
Taille initiale: 0Initial Capacité: 3 Capacité après quatre ajouts: 5 Capacité de courant: 5 Capacité de courant: 7 Capacité courante: 9e premier élément: 1last Element: 12 Vector Contient 3. Éléments dans le vecteur: 1 2 3 4 5,45 6,08 7 9,4 10 11 12 12