Lire un Vector [Résolu]

Signaler
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013
-
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013
-
Bonjour,

j'aimerai savoir comment lire un vecteur élément par élément.

Si j'affiche mon Vector j'obtiens :
[[Val01, Val02, Val03, Val04], [Val11, Val12, Val13, Val14], [Val21, Val22, Val23, Val24]]

En utilisant le code suivant :
for (int i=0 ; i<donnees.size() ; i++)
{
System.out.println(donnees.elementAt(i).toString()); 
}

j'obtiens :
[Val01, Val02, Val03, Val04]
[Val11, Val12, Val13, Val14]
[Val21, Val22, Val23, Val24]

J'aimerai pouvoir récupérer chaque valeur individuellement mais je ne sais pas comment faire pour avoir :
Val01
Val02
Val03
Val04
Val11
Val12
...

Avez-vous une idée ?

Merci.
Bonne soirée.

5 réponses

Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
11
tu as donc un vecteur qui contient des vecteurs...
il suffit d'adapter le code en conséquence...
for (int i=0 ; i<donnees.size() ; i++)
{
    System.out.println(donnees.elementAt(i).toString());
    Vector containedVector= (Vector)donnees.elementAt(i);
    for ( int j=0; j<containedVector.size(); j++ )
    {
        System.out.println("\t" + containedVector.elementAt(j).toString());
    }
}
Messages postés
5363
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
30 avril 2021
110
Salut,

Tu t'es assuré du remplissage de ton vecteur ?
Là comme ça, ça me fait penser à un vecteur de vecteur de string (Vector<Vector<String>>) où le vecteur(donnees) contient 3 vecteurs contenant eux même 4 éléments de type String (pfffiou ^^').


-----

"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
Messages postés
600
Date d'inscription
samedi 20 mai 2006
Statut
Membre
Dernière intervention
8 juillet 2016
11
Salut,

Il me semble que ton vecteur contient des tableaux (de String?)
si tu veux afficher valeur par valeur (s'il s'agit bien de tableau) ,
for (int i=0 ; i<donnees.size() ; i++)
{
    System.out.println(donnees.elementAt(i).toString());
    Object[] array = (Object[])donnees.elementAt(i);
    for ( int j=0; j<array.length; j++ )
    {
        System.out.println("\t" + array[j].toString());
    }
}
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013

Avec ce code, j'obtiens l'erreur suivante :
Exception in thread "main" java.lang.ClassCastException: java.util.Vector cannot be cast to [Ljava.lang.Object;

En fait je récupère des données dans une base de données. C'est pour ça que mes données sont séparées de la façon énoncée ci-dessus.
Messages postés
141
Date d'inscription
samedi 4 février 2012
Statut
Membre
Dernière intervention
3 avril 2013

C'est parfait, exactement ce que je cherchais à faire.
Merci beaucoup.