2010-05-20 4 views
0

Si nous avons des implémentations de split de chaîne pour j2me, on retourne vector et l'autre renvoie array, en termes de performance sur les appareils portatifs dont on est le meilleur choix?J2me - Tableaux vs vecteur?

Répondre

2

Les tableaux fonctionneraient toujours mieux que Vector, bien que la différence ne devrait pas être trop importante. La vraie question est de savoir si cette performance vaut le sacrifice de ne pas avoir les riches fonctionnalités fournies par Vector, par exemple. être dynamique Growable, etc.

En général, vous devriez toujours préférer parler List à des tableaux (voir Effective Java 2e édition, article 25, Préférer listes de tableaux), mais le développement J2ME ne peut pas vous donner le luxe.

+0

Pouvez-vous préciser la raison ici? Je n'ai pas accès au livre. Pour moi, utiliser Array sera préféré parce que via List, ce sera un appel virtuel et donc plus lent. –

+0

@MasterGaurav: la performance n'a même pas été discutée dans le chapitre; les principaux problèmes sont la sécurité de type ('List' est invariant, les tableaux sont covariants), les fonctionnalités plus riches, l'interopérabilité avec le reste du Framework Collections, etc. Encore une fois, cet élément peut ou non être applicable au développement J2ME. Il faut dire qu'une bonne conception est généralement plus importante que la performance, et que vous ne devriez pas l'optimiser prématurément. – polygenelubricants

1

Vector est déprécié.

Si vous n'avez pas besoin de modifier les résultats, utilisez la matrice: elle aura moins de frais généraux et moins de flexibilité.

+2

Jetez un oeil à par exemple http://java.sun.com/javame/reference/apis/jsr118/ Vous ne trouverez même pas ArrayList, et Vector n'est pas marqué comme obsolète. – aioobe

+0

Ah! Je me suis mélangé avec Java SE (J2SE);) –

0

selon le réglage du soleil de performance J2ME décrit dans link text

« Les tableaux sont généralement plus rapide et plus maigre que les classes de collection », il est donc clair que l'utilisation de tableaux sera beaucoup mieux que tout objet de collection