Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1440 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Iterator

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Iterator

n°1069005
tatou42
Posté le 02-05-2005 à 17:05:11  profilanswer
 

peut t'on connaitre la taille d'une collection d'objet sachant que l'on n'a que l'iterateur:
 
j'ai la methode getDescendants() (define dans JDOM, classe Element) qui me renvoie un iterateur. Je souhaite juste connaitre le nombre de collection.

mood
Publicité
Posté le 02-05-2005 à 17:05:11  profilanswer
 

n°1069007
elianor
bannie 17 fois
Posté le 02-05-2005 à 17:07:38  profilanswer
 

getChildren renvoie une list, donc getChildren().size () [:spamafote]


Message édité par elianor le 02-05-2005 à 17:07:50

---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1069016
tatou42
Posté le 02-05-2005 à 17:11:16  profilanswer
 

getChildren() ne renvoie que les descendants de premier rang (la première generation si tu veux). moi ce qui m'interresse c'est tout les descendants. J'ai pensé a faire simplement une boucle while et utiliser un compteur mais c'est un peut brouillon.

n°1069020
tatou42
Posté le 02-05-2005 à 17:13:36  profilanswer
 

n'est t'il pas possible de passer de la classe iterator à la classe collection.

n°1069030
elianor
bannie 17 fois
Posté le 02-05-2005 à 17:17:16  profilanswer
 

Tu fais un parcours d'arbres, et tu comptes [:spamafote]


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1069048
tatou42
Posté le 02-05-2005 à 17:25:50  profilanswer
 

c'est ce que je fais avec l'iterteur mais c'est brouillon. parceque par la suite j'utilise la valeur pour un JPrgressBar et je relance une autre boucle

n°1069052
tatou42
Posté le 02-05-2005 à 17:28:47  profilanswer
 

de plus les fichier XML que je parcours sont extrement grand (en moyenne 80 Mo)

n°1069905
TBone
Pouet.
Posté le 03-05-2005 à 08:59:32  profilanswer
 

du XML extrêmement grand ce n'est pas 80Mo ;)
 
et avec une requête XPath ? tu ramènes une NodeList et tu prends sa taille.
 
edit: et tu fais du DOM avec un XML pareil ? ou tu préparses en SAX ?


Message édité par TBone le 03-05-2005 à 09:00:48

---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°1069917
nraynaud
lol
Posté le 03-05-2005 à 09:18:23  profilanswer
 

j'ai une question : qui a eu l'idée de cracher 80Mo de XML ? un stagiaire ? Il ne s'est pas posé la question du coût en temps machine et mémoire d'un truc pareil ?
 
D'autre part, sachant que le monstre fait 80 Mo, qui a eu l'idée d'utiliser DOM pour tronçonner la chose ? un vendeur de mémoire ? de processeur ? Dell ?


---------------
trainoo.com, c'est fini
n°1069928
tatou42
Posté le 03-05-2005 à 09:27:13  profilanswer
 

c'est un fichier XML utilisé en natif pour faire du stockage de données. J'utilise JDom pour effectuer mes requêtes, j'utilise le parser SAX de JDom pour lire le fichier.  
 
De plus je dis bien que mon fichier fait en moyenne 80 Mo, elle peut atteindre 140 Mo. Ce sont des fichiers professionnels! (En resumé c'est la configuration global des equipements Nortel 3G du réseau d'accès d'Orange)

mood
Publicité
Posté le 03-05-2005 à 09:27:13  profilanswer
 

n°1069935
TBone
Pouet.
Posté le 03-05-2005 à 09:31:20  profilanswer
 

80Mo ce n'est pas nécessairement craché par des stagiaires... une administration française m'a fait jouer avec des XML à contenu législatif oscillant entre 500 et 600MB le fichier.
 
(et en plus, les encoding étaient foireux)
 
faire du DOM avec c'est suicidaire, il faut tout tronçonner en SAX (une fois les caractères mal encodés corrigés) en segments de taille raisonnable et ensuite passer en DOM si besoin est.


---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°1069937
tatou42
Posté le 03-05-2005 à 09:33:25  profilanswer
 

nraynaud a écrit :

j'ai une question : qui a eu l'idée de cracher 80Mo de XML ? un stagiaire ? Il ne s'est pas posé la question du coût en temps machine et mémoire d'un truc pareil ?
 
D'autre part, sachant que le monstre fait 80 Mo, qui a eu l'idée d'utiliser DOM pour tronçonner la chose ? un vendeur de mémoire ? de processeur ? Dell ?


 
J'estime que ma question est suffisamment precise pour que tu me dise si oui ou non tu as un semblant de solution. Tes commentaires deplaces tu peux serieusement te les garder. Le comble c'est que les personnes comme toi ne savent pas tous bêtement poser les questions pour connaître le contexte mais cracher tes commentaires venimeuses qui apporte plus l'envie d'etre injurieux.
A l'avenir mache bien tes mots avant de me les cracher

n°1069939
TBone
Pouet.
Posté le 03-05-2005 à 09:35:18  profilanswer
 

tatou42 a écrit :

De plus je dis bien que mon fichier fait en moyenne 80 Mo, elle peut atteindre 140 Mo. Ce sont des fichiers professionnels! (En resumé c'est la configuration global des equipements Nortel 3G du réseau d'accès d'Orange)


ce n'est pas bien malin de la part de Nortel de stocker autant dans du XML... derrière il faut se palucher du code pour gérer ça et c'est bien plus lent que qques XML spécialisés et plus petits.
 
attention de ne pas tomber dans le travers de tout stocker en XML non plus, j'ai un serveur qui peine à faire du web dynamique avec Novell exteNd où tout est XML couplé à des XSL. Bondiou que ça rame avec un user.


Message édité par TBone le 03-05-2005 à 09:36:25

---------------
As the plane took off, the pilot turned to the co-pilot and said, “Have you ever flown solo?” Co-pilot: No. Typically I fly much higher than this.
n°1069949
tatou42
Posté le 03-05-2005 à 09:39:52  profilanswer
 

dans le context, XML n'est utilisé que pour les echanges. Sinon je ne sais absolument pas comment est fait la base de donnée. D'ailleur ce n'est pas mon souci. par ailleur on dispose deja d'outil nortel parsant c'est fichier. Elle met à peux près 1 minute 30 pour l'ouvrir. Avec mon outil j'arrive à faire l'equivalent.

n°1069952
nraynaud
lol
Posté le 03-05-2005 à 09:44:07  profilanswer
 

tatou42 a écrit :

Le comble c'est que les personnes comme toi ne savent pas tous bêtement poser les questions pour connaître le contexte mais cracher tes commentaires venimeuses qui apporte plus l'envie d'etre injurieux.
A l'avenir mache bien tes mots avant de me les cracher


mon post contient exclusivement des questions.
 
Il traduit une certaine exaspération face à ce genre de comportement qui consiste à faire n'importe quoi sans un minimum de recul. En particulier quand il faut marcher sur des oeufs à cause des contraintes techniques. 80Mo de XML, ça n'a rien d'annodin et il vaut mieux éviter de s'en vanter si on peut pas l'éviter.
 
Maintenant, des réponses, tu en as : tu tappes dedans en SAX, tu fais surtout gaffe à jetter à la poubelle (à ne pas les garder en mémoire) toutes les informations inutiles au fur-et-à-mesure du passage sur le fichier. Bref, la réponse d'Elianor. Et tu évites absolument DOM car tu vas charger en mémoire tout le fichier sinon.
 
Mais commence par voir si tu ne peux pas obtenir tes données sous un format plus intelligent.


---------------
trainoo.com, c'est fini
n°1069954
tatou42
Posté le 03-05-2005 à 09:44:26  profilanswer
 

je vous rappel ma question, j'ai une methode me renvoyant un iterateur, je voudrais connaitre la taille de la List d'objet sur lequelle il pointe sans avoir a faire utiliser une boucle ou un compteur.

n°1069957
nraynaud
lol
Posté le 03-05-2005 à 09:45:45  profilanswer
 

on peut pas, un Iterator c'est du traitement en flux, pas en collection.


---------------
trainoo.com, c'est fini
n°1069960
nraynaud
lol
Posté le 03-05-2005 à 09:46:11  profilanswer
 

mais c'est de toutes façons complètement non-pertinent dans ton cas.


---------------
trainoo.com, c'est fini
n°1069989
tatou42
Posté le 03-05-2005 à 10:04:50  profilanswer
 

nraynaud a écrit :

mon post contient exclusivement des questions.
 
Il traduit une certaine exaspération face à ce genre de comportement qui consiste à faire n'importe quoi sans un minimum de recul. En particulier quand il faut marcher sur des oeufs à cause des contraintes techniques. 80Mo de XML, ça n'a rien d'annodin et il vaut mieux éviter de s'en vanter si on peut pas l'éviter.
 
Maintenant, des réponses, tu en as : tu tappes dedans en SAX, tu fais surtout gaffe à jetter à la poubelle (à ne pas les garder en mémoire) toutes les informations inutiles au fur-et-à-mesure du passage sur le fichier. Bref, la réponse d'Elianor. Et tu évites absolument DOM car tu vas charger en mémoire tout le fichier sinon.
 
Mais commence par voir si tu ne peux pas obtenir tes données sous un format plus intelligent.


 
Je comprends absoluement pas en quoi poser une question technique c'est se vanter des difficultés que l'on rencontre.  
Tu ne reponds toujours pas à ma question de depart qui est la suivante:
 

Citation :

comment puis je obtenir la taille d'une Liste pointer par un iterateur sachant que l'on ne possède que l'iterateur?


 
Maintenant si tu n'es pas capable de comprendre la question et forcement d'y repondre, ce n'est pas la peine de repondre avec des commentaires qui n'ont aucun interet ni pour moi ni pour les autres d'ailleurs.
De plus les phrases du genre:

Citation :

Il traduit une certaine exaspération face à ce genre de comportement qui consiste à faire n'importe quoi sans un minimum de recul


et quelques lignes plus loin, tu te permets de parler de vantardise. Tu devrais prendre le temps de relire tes phrases pour savoir qui est le plus vantard de nous 2.  
Sur ce j'espere que dorenavant tes reponses a mes questions seront constructives sinon ce n'est pas la peine de me faire part de tes etats d'ame qui me laisse indifferent.

n°1069998
nraynaud
lol
Posté le 03-05-2005 à 10:12:27  profilanswer
 

tatou42 a écrit :

Sur ce j'espere que dorenavant tes reponses a mes questions seront constructives


écoute petit boulet, si tu sortais tes doigts du cul, lisait un peu et utilisait ton cerveau, tu ne serais jamais venu poser ta question ici. J'ai pas eu besoin d'agresser qui que ce soit pour comprendre la différenc d'approche entre un iterator et une collection.
 
*personne* ne te doit la moindre réponse ici, tu en as obtenu une pertinente en 2 posts, des explications par la suite et des réflexions un peu plus poussées sur l'utilisation du XML.  
 
Maintenant, il est manifeste que tu es incapable de lever la tête du guidon et de réfléchir, je te laisse donc, et je continue mes remarques pour d'autres personnes que je suis convaincu que ça intéresse (si elles n'intéresse personne, bah tant pis, ça me fait plaisir de les poster).


---------------
trainoo.com, c'est fini
n°1070038
benou
Posté le 03-05-2005 à 10:35:21  profilanswer
 

peace les gens ...
 
 
 
et nraynaud, tu n'y as peut être pas encore été confronté, mais le XML est utilisé aussi pour faire des échanges de données, parfois volumineuses ... C'est un format qui en vaut un autre. Ce serait pas forcément beaucoup plus "utilisable" dans un autre format (binaire ou autre) étant donné que c'est de la donnée brute à intégrer.
 
Me semble qu'ici on se tape 2Go de xml tous les soirs dans le cadre d'un gros projet (niveau européen), ben ca se fait ...
 
Bien sûr, c'est une contrainte à prendre en compte dès le départ, mais c'est praticable. C'est aps un obstacle en soit, et d'autres solutions ne seraient pas forcément meilleures ...


Message édité par benou le 03-05-2005 à 10:35:55

---------------
ma vie, mon oeuvre - HomePlayer
n°1070055
nraynaud
lol
Posté le 03-05-2005 à 10:41:35  profilanswer
 

c'est con, il faut des données navigables dans la mesure du possible. Il faut des représentations plus légères. et Surtout qui ne nécessient pas un parser aussi complexe qu'un parser XML.


---------------
trainoo.com, c'est fini
n°1070059
nraynaud
lol
Posté le 03-05-2005 à 10:44:35  profilanswer
 

Surtout que c'est pas à Nortel ou à Orange que je vais apprendre l'existence d'ASN.1 c'est eux qui l'ont créé.


---------------
trainoo.com, c'est fini
n°1070065
benou
Posté le 03-05-2005 à 10:48:27  profilanswer
 

ca a quoi de compliqué du sax ?


---------------
ma vie, mon oeuvre - HomePlayer
n°1070066
tatou42
Posté le 03-05-2005 à 10:48:40  profilanswer
 

nraynaud a écrit :

écoute petit boulet, si tu sortais tes doigts du cul, lisait un peu et utilisait ton cerveau, tu ne serais jamais venu poser ta question ici. J'ai pas eu besoin d'agresser qui que ce soit pour comprendre la différenc d'approche entre un iterator et une collection.
 
*personne* ne te doit la moindre réponse ici, tu en as obtenu une pertinente en 2 posts, des explications par la suite et des réflexions un peu plus poussées sur l'utilisation du XML.  
 
Maintenant, il est manifeste que tu es incapable de lever la tête du guidon et de réfléchir, je te laisse donc, et je continue mes remarques pour d'autres personnes que je suis convaincu que ça intéresse (si elles n'intéresse personne, bah tant pis, ça me fait plaisir de les poster).


 
Je m'aperçois que tes propos sont toujours aussi peu constructif. En revanche, j'ai réellement besoin de savoir si tu as eu recourt à ton cerveau pour me produire de tels commentaires. Si c'est le cas j'arrive à comprendre pourquoi tu n'arrives à repondre à ma question. Tu sais je ne vais pas t'en vouloir, si tu n'es pas assez competent pour me donner une reponse à mon problème. La question ne t'etait pas spécialement destiné mais plutot à des personnes qui maitrisent le sujet.  
Maintenant, ce qu'il faut que tu saches, c'est que si je me suis inscrit sur ce forum, c'est pour trouver une solution à mon problème et non pas pour faire du social avec toi et supporter ta vulgarité d'un gamin de 10 ans.  
Je pense sincèrement que pour être aussi acide et virulant, tu dois souffrir d'un complexe d'inferiorité et ne peux que t'inviter à consulter un spécialiste avant que ca te rende encore plus aigris.
 
PS: tu vois je suis venu pour trouver une solution à un problème et au final, c'est toi qui en a trouvé une

n°1070069
elianor
bannie 17 fois
Posté le 03-05-2005 à 10:49:06  profilanswer
 

benou a écrit :

ca a quoi de compliqué du sax ?


 
C'est un sax de noeud [:spamafote]@


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1070080
benou
Posté le 03-05-2005 à 10:51:39  profilanswer
 

tatou42> rajoutes en pas, quoi :o
 
je vais finir par closer si vous êtes pas capables de parler sans vous engueuler ...


---------------
ma vie, mon oeuvre - HomePlayer
n°1070082
elianor
bannie 17 fois
Posté le 03-05-2005 à 10:51:50  profilanswer
 

tatou42 a écrit :


Je pense sincèrement que pour être aussi acide et virulant, tu dois souffrir d'un complexe d'inferiorité et ne peux que t'inviter à consulter un spécialiste avant que ca te rende encore plus aigris.


 
Il consulte, mais il a déjà fait des progrès : il bave moins.


---------------
JE JE SUIS LIBERTINEEEEEEEEEEE JE SUIS UNE CATINNNNNNNNN §§§§§§§§
n°1070083
nraynaud
lol
Posté le 03-05-2005 à 10:52:00  profilanswer
 

edit de benou : nraynaud, tu pètes les couilles !
si tu veux pas répondre, tu réponds pas et tu vas poster ton pied dans l'autre topic :o


Message édité par nraynaud le 03-05-2005 à 10:58:30

---------------
trainoo.com, c'est fini
n°1070110
tatou42
Posté le 03-05-2005 à 11:01:00  profilanswer
 

benou a écrit :

tatou42> rajoutes en pas, quoi :o
 
je vais finir par closer si vous êtes pas capables de parler sans vous engueuler ...


 
tu as peut etre une idée benou! tu as l'air d'avoir compris mon problème. Tu sais c'est pas telement l'utilisation de SAX qui importe. Je voudrais surtour savoir comment ferais tu pour connaitre le nombre d'objet contenu dans un collection sachant que l'on n'a que l'iterateur

n°1070130
souk
Tourist
Posté le 03-05-2005 à 11:06:22  profilanswer
 

nraynaud a écrit :

on peut pas, un Iterator c'est du traitement en flux, pas en collection.


 
 
bon je quote nraynaud qui t'as donné la solution
on ne peut pas si on n'a que l'itérateur, donc si tu veux connaitre le nombre d'éléments, ben tu fais deux passages, le premier tu comptes, le deuxième tu fais ce que tu veux. :sweat:

n°1070132
tatou42
Posté le 03-05-2005 à 11:08:22  profilanswer
 

souk a écrit :

bon je quote nraynaud qui t'as donné la solution
on ne peut pas si on n'a que l'itérateur, donc si tu veux connaitre le nombre d'éléments, ben tu fais deux passages, le premier tu comptes, le deuxième tu fais ce que tu veux. :sweat:


 
C'est ce que j'ai fait, le problème c'est que ca prend un peu plus de temps.

n°1070152
nraynaud
lol
Posté le 03-05-2005 à 11:20:22  profilanswer
 

:sweat:


---------------
trainoo.com, c'est fini
n°1070166
benou
Posté le 03-05-2005 à 11:26:57  profilanswer
 

tatou42 a écrit :

C'est ce que j'ai fait, le problème c'est que ca prend un peu plus de temps.


t'as pas le choix ...
 
je rajouterais aussi qu'à la première passe, tu dois en plus enregistrer les éléments de l'itérateur car tu ne peux pas faire un "reset" sur un iterateur => en plus ca te bouffe de la mémoire
 
2e solution : reconstruire l'itérateur pour la 2e passe


---------------
ma vie, mon oeuvre - HomePlayer
n°1070167
benou
Posté le 03-05-2005 à 11:27:24  profilanswer
 


tu te moinmoinises, toi, tu sais ?


---------------
ma vie, mon oeuvre - HomePlayer
n°1070178
nraynaud
lol
Posté le 03-05-2005 à 11:35:49  profilanswer
 

benou a écrit :

tu te moinmoinises, toi, tu sais ?


nan mais bon lire ça de la part d'un mec qui me prend pour un crétin, forcément ...


---------------
trainoo.com, c'est fini
n°1070368
tatou42
Posté le 03-05-2005 à 13:52:23  profilanswer
 

nraynaud a écrit :

nan mais bon lire ça de la part d'un mec qui me prend pour un crétin, forcément ...


Tu m'enlèves les mots de la bouche.

n°1070447
the real m​oins moins
Posté le 03-05-2005 à 14:29:18  profilanswer
 

benou a écrit :

tu te moinmoinises, toi, tu sais ?


 
[:mlc]
ça t'emmerde si je t'insulte, là ? [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1070453
benou
Posté le 03-05-2005 à 14:35:09  profilanswer
 

the real moins moins a écrit :

[:mlc]
ça t'emmerde si je t'insulte, là ? [:mlc]


tu te prendras un TT [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
n°1070750
the real m​oins moins
Posté le 03-05-2005 à 17:42:14  profilanswer
 

[:kiki]
(pauv' tache :o)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Iterator

 

Sujets relatifs
template iterator héritage, OK pour visual, Erreurs avec Gcc<iterator> : conception d'iterator, introduction aux traits
insertion dans une std::list à partir d'un reverse_iteratorIterator
fstream et iteratorIterator
std :: list<float> :: iterator iy = c.coordx.beging()Un algo de tri, oui mais avec Iterator
remplir un vector avec un iterator 
Plus de sujets relatifs à : Iterator


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR