Maison  >  Article  >  Java  >  Notes d'étude sur l'utilisation des classes vectorielles dans la programmation Java

Notes d'étude sur l'utilisation des classes vectorielles dans la programmation Java

黄舟
黄舟original
2017-01-20 11:05:191659parcourir

Vector est généralement utilisé pour implémenter des tableaux dynamiques, c'est-à-dire pour implémenter des tableaux d'objets à croissance automatique. Comme C, la classe vector est également intégrée à Java. Jetons un coup d'œil à l'utilisation de base de la classe vector.

java.util.vector fournit une classe vectorielle (vecteur) pour implémenter des fonctions similaires aux tableaux dynamiques. Il n'y a pas de concept de pointeur dans le langage Java, mais si les pointeurs sont utilisés correctement et de manière flexible, la qualité du programme peut en effet être grandement améliorée. Par exemple, en C, ce qu'on appelle le « tableau dynamique » en C est généralement implémenté par des pointeurs. Afin de combler cette lacune, Java fournit une riche bibliothèque de classes pour faciliter l'utilisation des programmeurs, et la classe vectorielle en fait partie. En fait, une utilisation flexible des tableaux peut également compléter les fonctions des classes vectorielles, mais la classe vectorielle fournit un grand nombre de méthodes qui facilitent grandement l'utilisation des utilisateurs.

Après avoir créé un objet de classe vectorielle, vous pouvez y insérer à volonté des objets de différentes classes, sans tenir compte du type ni présélectionner la capacité du vecteur, et vous pouvez facilement effectuer une recherche. Pour les situations où la taille du tableau est inconnue ou ne veut pas être définie à l’avance et où des recherches, insertions et suppressions fréquentes sont nécessaires. Pensez à utiliser des classes vectorielles.
La classe Vector implémente un tableau dynamique. Semblable à ArrayList, mais différent :

Vector est accessible de manière synchrone.

Vector contient de nombreuses méthodes traditionnelles qui ne font pas partie du cadre de collection.

Vector est principalement utilisé lorsque la taille du tableau n'est pas connue à l'avance, ou lorsque vous avez juste besoin d'un tableau qui peut changer la taille.

La classe Vector prend en charge 4 méthodes de construction.

1. La première méthode de construction crée un vecteur par défaut avec une taille par défaut de 10 :

Vector()

2.

Vecteur (int size)

3. La troisième méthode de construction crée un vecteur de la taille spécifiée, et l'incrément est spécifié par incr. L'incrément représente le nombre d'éléments ajoutés au vecteur à chaque fois.

Vector(int size,int incr)

4. La quatrième méthode de construction crée un vecteur contenant des éléments de la collection c :

Vector(Collection c)

If vous utilisez la première méthode, le système gérera automatiquement le vecteur, si vous utilisez les deux dernières méthodes. Ensuite, 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 du paramètre capacité initiale Lorsque le nombre de données réellement stockées dépasse la capacité. Le système augmentera la capacité de stockage d’objets vectoriels.

Le paramètrecapacitéincrement donne la valeur d'expansion de chaque expansion. Lorsque l'incrément de capacité est de 0, il sera doublé à chaque fois. Cette fonction peut être utilisée pour optimiser le stockage. Différentes méthodes sont fournies dans la classe Vector pour faciliter l'utilisation par l'utilisateur :

Fonction d'insertion :

(1) public final synchronisé void adddElement(Object obj)
Insérer obj dans la queue du vecteur. obj peut être n’importe quel type d’objet. Pour un même objet vectoriel, des objets de types différents peuvent également y être insérés. Cependant, les objets doivent être insérés à la place des valeurs, donc lors de l'insertion de valeurs, faites attention à convertir le tableau en objet correspondant.
Par exemple : lorsque vous souhaitez insérer l'entier 1, n'appelez pas directement v1.addElement(1). La méthode correcte est :

Vector v1 = new Vector(); 
Integer integer1 = new Integer(1); 
v1.addElement(integer1);
(2) public final synchronisé void setElementAt(Object). obj, int index)

Définissez l'objet à l'index sur obj et l'objet d'origine sera écrasé.
(3)public final synchronisé void insertElement(Object obj,int index)
Insérez obj à la position spécifiée par index, et l'objet d'origine et les objets suivants sont reportés dans l'ordre.

Fonction de suppression :

(1)public final synchronisé void removeElement(Object obj)
Supprimer l'obj du vecteur S'il y en a plusieurs, essayez de partir de la tête du vecteur et supprimez celui trouvé. Un membre vectoriel identique à obj.
(2)public final synchronisé void RemoveAllElement();
Supprimer tous les objets dans le vecteur
(3)public fianl synchronisé void RemoveElementAt(int index)
Supprimer l'objet pointé par index

Fonction de recherche de requête :

(1)public final int indexOf(Object obj)
Commencer à rechercher obj à partir de la tête du vecteur et renvoyer l'indice correspondant au premier obj rencontré si celui-ci n'existe pas. , renvoie -1.
(2)public final synchronisé int indexOf(Object obj,int index)
Démarrez la recherche d'obj à partir de l'indice représenté par index
(3)public final int lastindexOf(Object obj. )
Commencez par la queue du vecteur et recherchez obj en sens inverse
(4)public final synchornized int lastIndex(Object obj,int index)
Recherchez obj en sens inverse de la fin au début depuis le. indice représenté par index. l'objet vectoriel

Exemple
Le programme suivant illustre plusieurs méthodes prises en charge par cette collection :

Les résultats de compilation et d'exécution de l'exemple ci-dessus sont les suivants :


Ce qui précède est de la programmation Java. Le contenu des notes d'étude sur l'utilisation des classes vectorielles. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !
import java.util.*;
 
public class VectorDemo {
 
  public static void main(String args[]) {
   // initial size is 3, increment is 2
   Vector v = new Vector(3, 2);
   System.out.println("Initial size: " + v.size());
   System.out.println("Initial capacity: " +
   v.capacity());
   v.addElement(new Integer(1));
   v.addElement(new Integer(2));
   v.addElement(new Integer(3));
   v.addElement(new Integer(4));
   System.out.println("Capacity after four additions: " +
     v.capacity());
 
   v.addElement(new Double(5.45));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Double(6.08));
   v.addElement(new Integer(7));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Float(9.4));
   v.addElement(new Integer(10));
   System.out.println("Current capacity: " +
   v.capacity());
   v.addElement(new Integer(11));
   v.addElement(new Integer(12));
   System.out.println("First element: " +
     (Integer)v.firstElement());
   System.out.println("Last element: " +
     (Integer)v.lastElement());
   if(v.contains(new Integer(3)))
     System.out.println("Vector contains 3.");
   // enumerate the elements in the vector.
   Enumeration vEnum = v.elements();
   System.out.println("\nElements in vector:");
   while(vEnum.hasMoreElements())
     System.out.print(vEnum.nextElement() + " ");
   System.out.println();
  }
}

Initial size: 0
Initial capacity: 3
Capacity after four additions: 5
Current capacity: 5
Current capacity: 7
Current capacity: 9
First element: 1
Last element: 12
Vector contains 3.
 
Elements in vector:
1 2 3 4 5.45 6.08 7 9.4 10 11 12
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