Dans cette fiche... |
Difficulté : ![]() |
Résultat |
Si vous connaissez les tableaux,
vous savez que ceux-ci comportent des limites :
Les vecteurs pallient ces 2 inconvénients... |
// ----------------------------------------- // VECTEUR1 : LES VECTEURS EN JAVA // -----------------------------------------
import java.applet.*; import java.awt.*; import java.util.Vector;
public class Vecteur1 extends Applet { // Déclaration du vecteur Vector v;
// -------------------------- // INITIALISATION DE L'APPLET // --------------------------
public void init() { // Couleur de fond setBackground(Color.black);
// Initialisation du vecteur v = new Vector(); v.addElement("lundi"); v.addElement("mardi"); v.addElement("mercredi"); }
// --------- // AFFICHAGE // ---------
public void paint(Graphics g) { String s; int i;
// Nombre d'éléments dans le vecteur g.setColor(Color.white); g.drawString("Nombre d'éléments : " + v.size(), 15, 15);
// Afficher le contenu du vecteur g.setColor(Color.orange);
for(i = 0; i < v.size(); i++) { s = (String)v.elementAt(i); g.drawString(s, 15, 30 + i*10); }
// Afficher les première et dernière valeurs du vecteur g.setColor(Color.yellow); g.drawString("Le premier élément est : " + (String)v.firstElement(), 15, 70); g.drawString("Le dernier élément est : " + (String)v.lastElement(), 15, 80); } }
Les lignes non commentées ont déjà été traitées dans les exemples précédents.
import java.util.Vector; |
Pour pouvoir utiliser l'objet Vector, il faut inclure le
package java.util.Vector en début de listing. On aurait également pu écrire : import java.util.*; pour inclure tous les objets du package util. |
// Déclaration du vecteur Vector v; |
Le commentaire parle de lui-même : on vient de déclarer une
variable de type Vector. Cette variable n'a pour l'instant aucune valeur (elle n'est pas initialisée). |
// Initialisation du vecteur v = new Vector(); |
L'instruction new permet d'initialiser
l'objet Vector (comme pour tout objet). On aurait pu également écrire : v = new Vector(5); pour réserver 5 valeurs dès le départ dans le vecteur. |
v.addElement("lundi"); v.addElement("mardi"); v.addElement("mercredi"); |
Maintenant que le vecteur existe, on peut lui ajouter des
éléments, grâce à la méthode addElement(). Les
éléments s'ajoutent en fin de vecteur. Chaque élément se voit attribuer implicitement un indice, allant ici de 0 à 2 (et non de 1 à 3). Dans notre exemple, ce sont des chaînes de caractères qui sont ajoutées au vecteur. On peut bien sûr stocker tout type d'objet dans un vecteur. |
g.drawString("Nombre d'éléments : " + v.size(), 15, 15); |
Il est possible de connaître le nombre d'objets stockés
dans un vecteur (et de l'afficher). On utilise pour cela la méthode size() de l'objet Vector. |
for(i = 0; i < v.size(); i++) { s = (String)v.elementAt(i); g.drawString(s, 15, 30 + i*10); } |
Pour afficher tous les éléments (de 0 à n-1), on utilise
une boucle for. La méthode elementAt() donne l'objet stocké dans le vecteur en position i. Attention : la méthode elementAt()
donne un objet générique. Il faut donc convertir l'objet pour
l'utiliser.
Si le vecteur avait servi à stocker des applets, par exemple, on aurait écrit : (Applet)v.elementAt(i) |
g.drawString("Le premier élément est : " + (String)v.firstElement(), 15, 70); g.drawString("Le dernier élément est : " + (String)v.lastElement(), 15, 80); |
Des variantes de elementAt() firstElement()
et lastElement() permettent de connaître le premier le
dernier objet stocké. Ce qui veut dire que :
On fait plus rapide cette fois : au lieu de passer par une variable intermédiaire, on convertit directement v.firstElement() et v.lastElement() au moment de l'affichage. |
Voici le code qui a été utilisé dans cette page HTML pour faire apparaître l'applet :
<applet code="Vecteur1.class" width=250 height=90> Votre navigateur n'est pas compatible Java ! </applet>
Pour plus de précisions sur l'intégration d'une applet, cliquez ici.