Comment me créer un array d'un seul coup?

Comment me créer un array d'un seul coup? - Java - Programmation

Marsh Posté le 18-07-2003 à 15:58:27    

Voila, c'est tout con. J'aimerais bien utiliser une Collection ou un ArrayList (plutôt même, j'ai pas besoin de plus) pour pouvoir faire une comparaison sur toute une série de string d'un seul coup.  
 
Seulement, j'ai vraiment pas envie de me taper autant de add() que j'ai de string. Je me demandais s'il n'y avait pas moyen de faire un String[] avec toutes les valeurs rentrée à la queue leu leu et puis caster celui-ci comme une collection. Mais visiblement, il veut pas.
 
Y a pas un autre moyen?

Reply

Marsh Posté le 18-07-2003 à 15:58:27   

Reply

Marsh Posté le 18-07-2003 à 16:03:56    

gizmo a écrit :

Voila, c'est tout con. J'aimerais bien utiliser une Collection ou un ArrayList (plutôt même, j'ai pas besoin de plus) pour pouvoir faire une comparaison sur toute une série de string d'un seul coup.  
 
Seulement, j'ai vraiment pas envie de me taper autant de add() que j'ai de string. Je me demandais s'il n'y avait pas moyen de faire un String[] avec toutes les valeurs rentrée à la queue leu leu et puis caster celui-ci comme une collection. Mais visiblement, il veut pas.
 
Y a pas un autre moyen?

je comprends pas ta difficulté
entre mettre tous tes strings dans un tableau et les mettre dans une collection, en quoi l un est plus chiant que l'autre ???

Reply

Marsh Posté le 18-07-2003 à 16:06:12    

Ben déjà, ta comparaison tu peux la faire sur un tableau :  
 

Code :
  1. import java.util.*;
  2. String[] tab = new String[] {"a", "c", "e", "d", "f"};
  3. Array.sort(tab);
  4. // ou Array.sort(tab, tonComparator);


 
Sinon, je ne connais pas le moyen simple de passer d'un tableau à une collection en 1 ligne ...
.
.
.
.
.
.
.
.
.
.
enfin en jdk < 1.5  :whistle:  

Code :
  1. Collection<String>  coll = new ArrayList<String>();
  2. for (String s : new String[] {"a", "c", "e", "d", "f"}) coll.add(s);


Message édité par benou le 18-07-2003 à 16:07:09

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 16:39:44    

noldor >> bah d'une part, c'est autant d'appels à une fonction que j'évite, d'autre part, le string il est généré automatiquement par une fonction qui ne m'appartient pas, donc si je pouvais le réutiliser, ca m'arrangerait.
 
benou >> C'est pas pour faire des tris, c'est pour faire des recherches. Par contre, je vais essayer de me faire un système similaire.
 
 
(Putain ce que j'aime le C++ quand je programme en java [:gizmo])

Reply

Marsh Posté le 18-07-2003 à 16:51:44    

bha si tu veux faire une recherche, c'est pas surement une ArrayList que tu dois utiliser !
 
prend un HashSet ou un TreeSet ou un truc dans le genre sinon tu vas avoir des perfs de merde !
 
et puis bon, une boucle for ca va te tuer non plus, hein :o


Message édité par benou le 18-07-2003 à 16:58:35

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 16:52:00    

benou a écrit :

Ben déjà, ta comparaison tu peux la faire sur un tableau :  
 

Code :
  1. import java.util.*;
  2. String[] tab = new String[] {"a", "c", "e", "d", "f"};
  3. Array.sort(tab);
  4. // ou Array.sort(tab, tonComparator);


 
Sinon, je ne connais pas le moyen simple de passer d'un tableau à une collection en 1 ligne ...
.
.
.
.
.
.
.
.
.
.
enfin en jdk < 1.5  :whistle:  

Code :
  1. Collection<String>  coll = new ArrayList<String>();
  2. for (String s : new String[] {"a", "c", "e", "d", "f"}) coll.add(s);




Pour info:

Code :
  1. List list = java.util.Arrays.asList(tab);


---------------
Light is right
Reply

Marsh Posté le 18-07-2003 à 16:53:43    

Nerisson a écrit :


Pour info:

Code :
  1. List list = java.util.Arrays.asList(tab);




rhoooo putin mais oui je la connaissais en plus, je m'en souviens jamais  :fou:  :fou:  :fou:  :fou:  
 
merci  :jap:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 16:57:13    

Ah c'est bon à savoir, ça :) Merci Nerisson :jap:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 18-07-2003 à 16:59:17    

cool, c'est parfait ça.

Reply

Marsh Posté le 18-07-2003 à 17:01:04    

gizmo a écrit :

cool, c'est parfait ça.


 :heink:  
 
nan mais vraiment, hein ! si c'est pour faire des recherche, utiliser des List c'est pas bien !!  [:mlc]  


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 17:01:04   

Reply

Marsh Posté le 18-07-2003 à 17:02:21    

bah ca me permet de le transformer en treeset, c'est donc tout ce qu'il me faut

Reply

Marsh Posté le 18-07-2003 à 17:03:46    

gizmo a écrit :

bah ca me permet de le transformer en treeset, c'est donc tout ce qu'il me faut


si tu parles du truc de Nerisson, non, ca te retourne une List ...


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 17:04:26    

et une list, ca se cast sans problème en collection, ce qui me suffit pour faire un treeset.
CQFD

Reply

Marsh Posté le 18-07-2003 à 17:13:08    

donc, tu vas créer un tableau inutile + 1 List inutile juste parce que tu veux pas faire des add ?  
[:wam]  
 
:pt1cable:  
 
:pfff:  
 
[:neowen]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 17:23:59    

bah j'ai déjà le String, donc je le créer pas. Et je fais juste un TreeSet blabla = new TreeSet(Arrays.asList(monString));
 
Y a quoi de mal là dedans?

Reply

Marsh Posté le 18-07-2003 à 17:40:30    

tin, mais c'est pas ce que t'as dit au début ...  [:mlc2]  

Citation :

Je me demandais s'il n'y avait pas moyen de faire un String[] avec toutes les valeurs rentrée à la queue leu leu et puis caster celui-ci comme une collection


 
 
 

gizmo a écrit :

bah j'ai déjà le String


J'espère que tu voulais dire que t'avais le String[] sinon j'ai définitivement rien capté à ce que tu racontes ...


Message édité par benou le 18-07-2003 à 17:51:57

---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 17:50:00    

oui, j'avais (enfin, je l'ai toujours :D) le String[]. Je me suis mal exprimé au début.

Reply

Marsh Posté le 18-07-2003 à 17:52:43    

ben pkoi tu te prends la tête et que tu fais pas une bête boucle for ????????  [:sacplastic]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 18-07-2003 à 18:24:08    

bin, parce que, naïvement, je me dit que le mec qui a codé le construceur de ses objets a quand même mieux optimisé le bazare qu'un simple for aux allures peu catholiques.
 
Me tromperais-je?

Reply

Marsh Posté le 18-07-2003 à 18:40:50    

gizmo a écrit :

Me tromperais-je?


bha, c'est sûr que l'insertion de plusieurs données dans un arbre ca va plus vite que plusieurs fois une seule, mais je pense pas que ca vaille le coûp de passer par la construction d'une liste intermédiaire qui sert à rien :/
 
enfin bon, ti fé kom ti ve !


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-07-2003 à 15:09:00    

benou a écrit :

bha si tu veux faire une recherche, c'est pas surement une ArrayList que tu dois utiliser !
 
prend un HashSet ou un TreeSet ou un truc dans le genre sinon tu vas avoir des perfs de merde !
 
et puis bon, une boucle for ca va te tuer non plus, hein :o


 
Ben, y a des méthodes toutes prêtes pour trier les listes. Pour trier HashSet et TreeSet, j'ai rien vu... :-(
Du coup pr une petite liste (une cinquantaine d'éléments à tt casser), j'vais utiliser une liste. J'ai tord !?

Reply

Marsh Posté le 21-07-2003 à 15:11:12    

un TreeSet c'est automatiquement trié : tu lui file un Comparator à la création.
 
mais si tu veux trier, tu peux très bien passer par une Liste. Le seul intéret du tree set c'est que ca trie au fur et à mesure que tu ajoutes les éléments dedans.


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 21-07-2003 à 17:41:29    

Par contre, l'insertion et la suppression ne se font pas en temps constant. Faut voir s'il y en aura beaucoup ou non.

Reply

Marsh Posté le 21-07-2003 à 17:55:17    

question niveau métaprogrammation avec les futurs templates Java: en C++, c'est possible d'initialiser un tableau d'entier et de le trier au moment de la compilation par exemple. en fait j'aimerais savoir quelle va être la portée des templates en Java: une simple contrainte de type ou bien un formidable outil dans la logique 'think you're a compiler' et faire plein de trucs géniaux?

Reply

Marsh Posté le 21-07-2003 à 17:58:35    

une simple contrainte de type


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-07-2003 à 08:44:52    

++Taz a écrit :

question niveau métaprogrammation avec les futurs templates Java: en C++, c'est possible d'initialiser un tableau d'entier et de le trier au moment de la compilation par exemple. en fait j'aimerais savoir quelle va être la portée des templates en Java: une simple contrainte de type ou bien un formidable outil dans la logique 'think you're a compiler' et faire plein de trucs géniaux?


 
J'comprends pas ce que tu veux dire : un tableau, le + souvent, c'est rempli au runtime, le compileur ne peut pas le trier.
Et "l'outil formidable dans la logique think you're a compiler", ça veut dire quoi ?

Reply

Marsh Posté le 22-07-2003 à 08:47:55    

El_gringo a écrit :


Et "l'outil formidable dans la logique think you're a compiler", ça veut dire quoi ?


c'est un foumage de pétard des développeurs C/C++ :o


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-07-2003 à 08:59:36    

benou a écrit :


c'est un foumage de pétard des développeurs C/C++ :o


 
Et en lpus précis et moins trollesque, ça donne quoi ?

Reply

Marsh Posté le 22-07-2003 à 09:01:39    

benou a écrit :


c'est un foumage de pétard des développeurs C/C++ :o

n'empeche avec ça tu peux implémenter le design pattern stratégie au moment de la compilation....

Reply

Marsh Posté le 22-07-2003 à 09:05:13    

El_gringo a écrit :


Et en lpus précis et moins trollesque, ça donne quoi ?


je suis pas dans le trip, j'en sais rien moi [:spamafote]


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-07-2003 à 09:06:07    

++Taz a écrit :

n'empeche avec ça tu peux implémenter le design pattern stratégie au moment de la compilation....


parce que d'habitude c'est au Runtime que les dessign pattern sont implémentés ?  :heink:


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-07-2003 à 09:08:21    

MAIS C'EST QUOI BORDEL ????? :o  :o

Reply

Marsh Posté le 22-07-2003 à 09:11:04    

El_gringo a écrit :

MAIS C'EST QUOI BORDEL ????? :o  :o  

http://ivan.la-offteam.com/benou/benou_buzz.gif


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-07-2003 à 09:11:13    

El_gringo a écrit :

MAIS C'EST QUOI BORDEL ????? :o  :o  

:heink:

Reply

Marsh Posté le 22-07-2003 à 09:16:38    

++Taz a écrit :

question niveau métaprogrammation avec les futurs templates Java: en C++, c'est possible d'initialiser un tableau d'entier et de le trier au moment de la compilation par exemple. en fait j'aimerais savoir quelle va être la portée des templates en Java: une simple contrainte de type ou bien un formidable outil dans la logique 'think you're a compiler' et faire plein de trucs géniaux?


 
J'ai pas regardé les spec en détails, mais d'après ce qu'on m'adit ça sera moin puissant qu'en C++ les template java, à vérifier cependant. [:spamafote]


---------------
Le Tyran
Reply

Marsh Posté le 22-07-2003 à 09:17:33    

El_gringo a écrit :

MAIS C'EST QUOI BORDEL ????? :o  :o  


 
Metaprogramation, unrolling template... Ca te dit rien?


---------------
Le Tyran
Reply

Marsh Posté le 22-07-2003 à 09:18:39    

et trivialement, les arguments templates seront uniquement des types ou pourront aussi etre par exemple des types entiers comme en C++ ?

Reply

Marsh Posté le 22-07-2003 à 09:20:46    

++Taz a écrit :

et trivialement, les arguments templates seront uniquement des types ou pourront aussi etre par exemple des types entiers comme en C++ ?


 
Là je te renvoie au spec de la 1.5 par ce que honétement j'en sais rien, je me suis pas encore penché sur la question.


---------------
Le Tyran
Reply

Marsh Posté le 22-07-2003 à 09:32:06    

LetoII a écrit :


 
Là je te renvoie au spec de la 1.5 par ce que honétement j'en sais rien, je me suis pas encore penché sur la question.


moi je te renvoie sur le topic du jdk1.5. et à mon post un peu au dessus : c'est uniquement une facilitation et une vérification de typage. Ca n'a pas grand chose à voir avec les templates de C++


---------------
ma vie, mon oeuvre - HomePlayer
Reply

Marsh Posté le 22-07-2003 à 09:36:55    

benou a écrit :


moi je te renvoie sur le topic du jdk1.5. et à mon post un peu au dessus : c'est uniquement une facilitation et une vérification de typage. Ca n'a pas grand chose à voir avec les templates de C++


 
C ce qu'il me semblait.


---------------
Le Tyran
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed