Problème de liste en JAVA

titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   -  
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour ou bonsoir tout le monde,

J'ai un petit souci... Avant tout je développe en JAVA, JSP et javascript. Je débute dans ses languages.

Alors, mon problème est :

J'ai une requête qui renvoie son résultat dans un ArrayList. Mais voilà, ma requête retourne plusieurs enregistrements... Comment faire pour pouvoir tout afficher?! J'ai déjà réussit à afficher ma requête lorsque j'ai qu'un seul enregistrement...

Mon maître de stage me conseil de faire une ArrayList dans une ArrayList. Mais comment on fait ça?! Il m'a dit aussi de mettre autant d'ArrayList qu'il y a de champs... Je pense qu'il faudra que je compte le nombre d'enregistrement valide... Comment dois-je m'y prendre?! Il faut que je fasse une requête?! A moins qu'il y ait une formule toute faite non?!

Quelqu'un peut m'aider s'il vous plait...

Titfofol

PS : Si vous voulez plus d'information sur mon code posé moi des questions... ;)
A voir également:

7 réponses

Nixial
 
Bonjour,

Exemple :

ArrayList listeEnregistrement = new ArrayList();

ArrayList listeInformations ;

Boucle {

listeInformations = = new ArraList();

listeInformations.add(info1);
listeInformations.add(info2);
listeInformations.add(info3);
listeInformations.add(info4);
listeInformations.add(info5);
listeInformations.add(info6);

listeEnregistrement.add(listeInformation);

}

return listeEnregistrement;

Sauf erreur :!

Bonne journée !
0
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   9
 
Oui mais si je fais comme tu m'as dit, je pense que ça imbrique UNE ArrayList dans UNE ArrayList... Arf peut être que c'est moi que me suis mal exprimé... En fait' j'aimerai imbriquer dans une ArrayList autant d'ArrayList que j'ai d'enregistrement moi j'ai utilisisé un for, mais bon j'ai l'impression que ma syntaxe est fausse...

ResultSet RS = s.executeQuery(RequetePrincipale);

		ArrayList ListePrincipale = new ArrayList();
		ArrayList ListeIntermediaire = new ArrayList();


		//Exploitation des requetes
		for (i = 1; i < NbLigne; i ++){
			while(RS.next()){
				ListeIntermediaire.add(RS.getString(1));
				ListeIntermediaire.add(new Integer(RS.getString(2)));
				ListeIntermediaire.add(RS.getString(3));
				ListeIntermediaire.add(RS.getString(4));
				ListeIntermediaire.add(RS.getString(5));
				ListeIntermediaire.add(RS.getString(6));
				ListeIntermediaire.add(RS.getString(7));
				if (RS.getString(8) != null){
					ListeIntermediaire.add(new Float (RS.getString(8)));
				}
				else{
					ListeIntermediaire.add(RS.getString(8));
				}
				if (RS.getString(9) != null){
					ListeIntermediaire.add(new Float (RS.getString(9)));
				}
				else{
					ListeIntermediaire.add(RS.getString(9));
				}
				if (RS.getString(10) != null){
					ListeIntermediaire.add(new Float (RS.getString(10)));
				}
				else{
					ListeIntermediaire.add(RS.getString(10));
				}
				ListeIntermediaire.add(RS.getString(11));
				ListeIntermediaire.add(RS.getString(12));
				ListeIntermediaire.add(RS.getString(13));

				ListePrincipale.add(ListeIntermediaire);
			}
		}


Je ne sais pas si c'est assez explicite...

Titfofol
0
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   9
 
Bonjour Nixia,

Comme je t'ai dit précédement je suis débutante...
Pourrais-tu me dire pourquoi tu as mit "listeInformations = = new ArraList(); " pourquoi '=='??? normallement == c'est pour vérifier une égalité?!

Et si j'ai bien compris en fait' ce code c'est pour imbriquer un ArrayList dans un ArrayList c'est ça?! Non je te demande pour voir si j'ai bien compris c'est tou ;;)

Merci de m'avoir aider...

Titfofol

PS: Tu ne saurais pas comment faire la deuxième partis de l'exo?
0
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   9
 
Bon j'ai réussit à imbriquer un ArrayList dans un autre...

En fait' mon code était juste sauf que j'avais oublié un clear() et mal mit une instruction, bon bha pour ceux qui avait le même que moi, juste après le for, il faut rajouter :

ListeIntermediaire.clear();


et

ListePrincipale.add(ListeIntermediaire);


mettre juste après la fin du while

Bon maintenant un autre problème se pose... toujours sur les listes...

Comment pourrais-je afficher mes liste (en sachant que j'ai un ArrayList imbriqué dans une autre)...

voilà un bout de code (qui ne fonctionne pas d'ailleurs) :

for (int i = 0; i < NbLigne; i++) {
					for (int j = 0; j < ResultReq.size(); j++){
						out.println("<td>");
						out.println(ResultReq.listIterator());
						out.println("</td>");
					}
				}


Je ne pense pas qu'il faut utiliser une listIterator mais bon... j'ai fait ça juste pour tester...

ResultReq à pour valeur la liste principale c'est à dire celle qui reçoit l'imbrication de l'autre ArrayList (Je ne sais pas si ça se dit comme ça mais bon... j'espère mettre au moins faite comprise...))

Quelqu'un peut m'aider s'il vous plaît

Titfofol
0
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   9
 
Kikoo tout le monde,...

Alors toujours peronne pour m'aider?! S'il vous plaît....
S"il vous plaît... S'il vous plaît...

Aidez moi

titfofol désespérée
0

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

Posez votre question
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   9
 
Bon je crois avoir trouvéla source de mon problèm...

Je pense que c'est le fait que, au niveau de ma requête où il y a mon COUNT, j'avais ommit de mettre un executeQuery. Mais le truc c'est que après je suis obligé de mttre dans une ArrayList????

Si c'est cas, ma variable de type ArrayList sera forcément n objet non?! Mais moi j'aimerai récupérer cette valeur en int... Comment faire?! J'ai fait des recherches et apparament il est impossible de caster la valeur de type objet à un type int... Je ne sais plus comment faire, et je commence à deséspérer en voyant que personne ne me répond...

titfofol
0
mype Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   437
 
ben tu peux caster ton objet en Integer puis recupere la valeur de l'integer en int
0
titfofol Messages postés 172 Date d'inscription   Statut Membre Dernière intervention   9
 
Oui, bha c'est ce que je viens de faire...

J'ai réussit à caster ma variable mais le truc c'est que je n'arrive pas à afficher... Maintenant plus rien ne s'affiche...

Titfofol
0