Lire un Vector

Résolu
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 29 mai 2012 à 17:48
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013 - 30 mai 2012 à 09:22
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

cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
30 mai 2012 à 09:13
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());
    }
}
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
29 mai 2012 à 21:12
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
0
cormandyr Messages postés 600 Date d'inscription samedi 20 mai 2006 Statut Membre Dernière intervention 8 juillet 2016 11
30 mai 2012 à 09:00
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());
    }
}
0
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
30 mai 2012 à 09:09
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yannOpenGL Messages postés 141 Date d'inscription samedi 4 février 2012 Statut Membre Dernière intervention 3 avril 2013
30 mai 2012 à 09:22
C'est parfait, exactement ce que je cherchais à faire.
Merci beaucoup.
0
Rejoignez-nous