TD 3 - Les tableaux, vecteurs et dictionnaires

Exercice 1 - Utilisation des tableaux

1- Utilisation d'un tableau non-instancié

On obtient une NullPointerException car le tableau n'est pas instancié.

2- Premier tableau

int[][][] iMonTableau;
iMonTableau=new int[2][3][4];

Ce tableau contient 2*3*4=24 éléments.

Ce tableau est un objet comme tous les tableaux.

Dans ce cas, il ne contient pas d'objets mais des primitifs mais un tableau peut également contenir tout type d'objets de même type.

3- Syntaxe par accolade

Integer[][] iMonTableau={{new Integer(1),new Integer(2)},{new Integer(3),new Integer(4)}};

L'instanciation du tableau est comprise dans la syntaxe par accolade, c'est le compilateur qui s'en est chargé.

4- Accès à un élément du tableau non instancié

Integer[] iMonTableau=new Integer[2];
iMonTableau[0]=new Integer(0);
System.out.println(iMonTableau[0]);
System.out.println(iMonTableau[1]); //provoque une NullPointerException car cet objet n'est pas instancié

5- Tableau à deux dimensions non 'rectangulaire'
float[][] fMonTableau={{1.0f,1.1f,1.2f},{2.0f,2.1f,2.2f,2.3f},{3.0f,3.1f,3.2f,3.3f,3.4f}};
System.out.println(fMonTableau[0][0]);
System.out.println(fMonTableau[0][1]);
System.out.println(fMonTableau[0][2]);
System.out.println(fMonTableau[1][0]);

6- Affichage du hashcode d'un tableau
System.out.println(new int[5]);

Ceci renvoi la valeur de la référence sur cet objet de type tableau, son pointeur en quelque sorte.



Exercice 2 - Utilisation des vecteurs

1- Premier Vecteur

Vector vMonVecteur=new Vector();
vMonVecteur.addElement(new Object());
vMonVecteur.addElement(new Integer(1));
vMonVecteur.addElement(new Float(1.0f));
System.out.println(vMonVecteur.size());

2- Ajout d'un élément dans le vecteur

vMonVecteur.addElement(new Integer(2));

3- Suppression d'un élément du vecteur

vMonVecteur.removeElementAt(3);

4- Utilisation des énumérations et de getClass()

Enumeration eEnum=vMonVecteur.elements();
while (eEnum.hasMoreElements()){
    System.out.println(eEnum.nextElement().getClass());
}

5- Remplacement d'un élément par un autre

Enumeration eEnum=vMonVecteur.elements();
int i=0;
while (eEnum.hasMoreElements()){
    if (eEnum.nextElement() instanceof Integer){
        vMonVecteur.removeElementAt(i);
        vMonVecteur.addElement(new Float(1.0f));
        eEnum=vMonVecteur.elements(); //le vecteur a changé, nous réinitialisons l'énumération
   
};
    i++;

}

6- Vérification finale

Enumeration eEnum=vMonVecteur.elements();
while (eEnum.hasMoreElements()){
    System.out.println(eEnum.nextElement().getClass());
}



Exercice 3 - Utilisation des dictionnaires

1- Premier dictionnaire

Hashtable hListTel;
hListTel=new Hashtable();
hListTel.put("toto","0642482700");
hListTel.put("titi","0642482701");
hListTel.put("tata","0642482702");
System.out.println(hListTel.size());

2- Utilisation du dictionnaire

System.out.println(hListTel.get("toto"));

3- Suppression d'une entrée du dictionnaire

hListTel.remove("toto");