convertir un vecteur en un tableau a 2 dim [java] - Programmation
Marsh Posté le 03-01-2002 à 12:47:42
Bin tu fais un truc a la main, barbare :
Code :
|
Voila c l'algo général, ya pas les indices pour ton tableau a 2 dim, mais 2 entiers (aller au hasard i et j) et voila ...
Marsh Posté le 03-01-2002 à 13:22:57
Euh, c'est bien beau tout ca mais un vecteur par déf. n'a pas de taille fixe. Si tu as un truc du genre
Vecteur 1 contient 50 vecteurs
Vecteur 2 contient 1 vecteurs
Vecteurs 3 contient 150 vecteurs
Et puis dans les vecteurs de vecteurs t'as des éléments allant de 3000 éléments à 1 éléments
tu fais un tableau 150*3000 ???
Où est l'intérêt ?
Si c'est fixe alors pq avoir fait des vecteurs ?
Marsh Posté le 03-01-2002 à 14:16:03
darklord22 a écrit a écrit : Euh, c'est bien beau tout ca mais un vecteur par déf. n'a pas de taille fixe. Si tu as un truc du genre Vecteur 1 contient 50 vecteurs Vecteur 2 contient 1 vecteurs Vecteurs 3 contient 150 vecteurs Et puis dans les vecteurs de vecteurs t'as des éléments allant de 3000 éléments à 1 éléments tu fais un tableau 150*3000 ??? Où est l'intérêt ? Si c'est fixe alors pq avoir fait des vecteurs ? |
bon on avance un peu la merci
en fait le vecteur qui est contenu ds le vecteur a une taille fixe ca c sur (elle depassera jamais 10) et croi moi c plus simple d utilisé ce qui existe deja
merci
Marsh Posté le 03-01-2002 à 14:28:05
Alors tu fais ca
Code :
|
Tu remplace Object par le type de ton objet qu'il y a ds les vecteurs ....
A+
Marsh Posté le 03-01-2002 à 14:35:13
darklord22 a écrit a écrit : Alors tu fais ca
|
il n est pas a 2 dimention ton tableau c normal?
[edtdd]--Message édité par veryfree--[/edtdd]
Marsh Posté le 03-01-2002 à 14:42:05
non toi ?
et arr[i,j] c'est pas deux dimensions pour toi ?
Marsh Posté le 03-01-2002 à 14:45:19
darklord22 a écrit a écrit : non toi ? et arr[i,j] c'est pas deux dimensions pour toi ? |
excuse moi c pq on declare pas de la meme facon
j aurait mis Object[][] arr = new Object[vector.size(), 10];
et arr[i][j] je pensait pas que ca existait ce truc avant...
merci encore
Marsh Posté le 03-01-2002 à 14:45:40
oula premiere fois de ma vie que je fais des arrays deux dimensions en Java. Bon bon je savais pas
Voila une version correcte
Code :
|
mais bon tu aurais pu deviner que i, j c'était l'index du tableau non ?
Marsh Posté le 03-01-2002 à 14:47:27
Mais une question quand meme. C'est super simple à faire. Si tu sais manipuler les vecteurs, comment ca se fait que tu ne sais pas le faire toi même ?
C'est juste une question ...
Marsh Posté le 03-01-2002 à 14:50:43
darklord22 a écrit a écrit : Mais une question quand meme. C'est super simple à faire. Si tu sais manipuler les vecteurs, comment ca se fait que tu ne sais pas le faire toi même ? C'est juste une question ... |
ben en fait je pensait qu il y avait une facon plus optimisé de faire ce truc avec la methode toArray() de la classe vecteur par ex... pq ici j ai vu des choses assez interessante et j ai beaucoup appris
sinon j avait compris que i et J etait des indice bien sur mais c vrais que ta declaration me paraissait si inhabituelle...
Marsh Posté le 03-01-2002 à 15:14:25
veryfree a écrit a écrit : ben en fait je pensait qu il y avait une facon plus optimisé de faire ce truc avec la methode toArray() de la classe vecteur par ex... pq ici j ai vu des choses assez interessante et j ai beaucoup appris sinon j avait compris que i et J etait des indice bien sur mais c vrais que ta declaration me paraissait si inhabituelle... |
Tu sais. C'est pas parce que tu appelles une méthode que c'est une opération atomique. Il y a bcp de chance pour que ton opération toArray() fasse EXACTEMENT la meme chose que mon code. C'est pas parce que tu appelles une méthode que le process derrière est simple ...
Marsh Posté le 03-01-2002 à 15:18:53
darklord22 a écrit a écrit : Tu sais. C'est pas parce que tu appelles une méthode que c'est une opération atomique. Il y a bcp de chance pour que ton opération toArray() fasse EXACTEMENT la meme chose que mon code. C'est pas parce que tu appelles une méthode que le process derrière est simple ... |
jdit pas que le processus est simple mais que c plus rapide(en temps d execution) d utilisé des methodes de l API
[edtdd]--Message édité par veryfree--[/edtdd]
Marsh Posté le 03-01-2002 à 18:03:52
ben pas vraiment : l'API est faite en java (les sources sont dispos) => y a pas de raison que l'execution soient plus rapide ...
Marsh Posté le 04-01-2002 à 08:22:34
benou a écrit a écrit : ben pas vraiment : l'API est faite en java (les sources sont dispos) => y a pas de raison que l'execution soient plus rapide ... |
yes !
Comme je le disais, tout ca a un effet plutôt psychologique sur l'utilisateur. Moi j'ai déjà développé pas mal d'API pour d'autres développeurs et ils pensent exactement comme toi. Lorqsu'ils voient une de mes méthodes (qui envoit un packet sur un bus orienté objet) il pense que c'est atomique, simple quoi. Si il voyait tout ce qui se fait derrière pour que ca marche ...
On peut aller voir cette méthode toArray() si tu veux pour voir ce qu'elle fait
Citation : |
Par contre arraycvopy est natif donc il se peut que ce soit effectivement un poil plus rapide que ce qui t'es proposé. Mais il y a un pas entre un poil et vraiment plus rapide ...
C'est pas atomique alos memem si l'effet psychologique "un appel de méthode" joue un peu ...
[edtdd]--Message édité par darklord22--[/edtdd]
Marsh Posté le 04-01-2002 à 09:20:06
certes, mais dans tout les cas, lorsqu'on a le choix il vaut mieu utiliser les methodes de l4API car :
-c plus propre
-c plus lisible
-tu te fais pas chier a reecrire ce qui existe deja
-c tres souvent plus optimisé
Marsh Posté le 04-01-2002 à 10:02:59
darklord22 a écrit a écrit : yes ! Comme je le disais, tout ca a un effet plutôt psychologique sur l'utilisateur. Moi j'ai déjà développé pas mal d'API pour d'autres développeurs et ils pensent exactement comme toi. Lorqsu'ils voient une de mes méthodes (qui envoit un packet sur un bus orienté objet) il pense que c'est atomique, simple quoi. Si il voyait tout ce qui se fait derrière pour que ca marche ... On peut aller voir cette méthode toArray() si tu veux pour voir ce qu'elle fait
|
merci pour tout
Marsh Posté le 04-01-2002 à 20:55:17
(juste histoire de rajouter mon grain de sable)
en plus, comme la méthode est synchronized, son execution est plus lente. 3 fois plus lente en moyenne d'apres ce que m'avait dit un prof du temps de la fac (j'ai jamais vérifié ....)
et puis je pense que si tu cherches les performances, c'est une bonne idée d'utiliser System.arraycopy().
Marsh Posté le 03-01-2002 à 12:09:11
bonjour tt le monde
j ai besoin de votre aide et oui c encore moi avec mes probleme de vecteurs ...
voila le probleme
j ai un vecteur qui contien des vecteurs
en fait chaque éléments du premier vecteur est lui meme un vecteur
je voudrait copié leur contenu ds un tableau a 2 dim
merci de votre aide
jerry
[edtdd]--Message édité par veryfree--[/edtdd]