[Collection] optimisation de toArray
Bonjour,
Dans le cas d'une
Code:
Collection<MyType> c
sachant que je veux diposer d'un tableau contenant ous les elements de celles-ci. Qu'est ce qui est le plus efficace?
Code:
1 2 3
| (MyType[])c.toArray(); // pas joli mais cela marche
c.toArray(new MyType[0]); // ce que propose sun mais 2 tableaux vont devoir etre alloué
c.toArray(new MyType[c.size()]; // ce que je pense faire... mais gagne t on vraiment en temps CPU? |
Re: optimisation et collection
Salut,
Citation:
Envoyé par TabrisLeFol
(MyType[])c.toArray(); // pas joli mais cela marche
Bizarre car ceci devrait renvoyer un ClassCastException puisque le vrai type du tableau est Object...
Dans tout les cas je ne te le conseille pas...
Citation:
Envoyé par TabrisLeFol
c.toArray(new MyType[0]); // ce que propose sun mais 2 tableaux vont devoir etre alloué
c.toArray(new MyType[c.size()]; // ce que je pense faire... mais gagne t on vraiment en temps CPU?
Je ne pense pas que l'allocation d'un tableau de 0 élément soit coûteuse...
Pour moi les deux solutions sont équivalentes... avec une légère préférence pour la première en environnement multithread avec une Collection synchronisé (car la taille peut varier entre le moment où tu crées ton tableau et le moment où tu entre dans la méthode toArray()).
Pourquoi tu as des problèmes de perfs là dessus ???
a++