Bonjour
Je voudrais savoir si il y a quelque chose de plus performant qu'une Hashtable pour indexé un tableau par des caractères.
En gros comme si on pouvait obtenir la valeur en faisant :
MerciCode:int plop = tab['a'];
Version imprimable
Bonjour
Je voudrais savoir si il y a quelque chose de plus performant qu'une Hashtable pour indexé un tableau par des caractères.
En gros comme si on pouvait obtenir la valeur en faisant :
MerciCode:int plop = tab['a'];
Salut,
Etant donné que les char correspondent à des valeurs entières, ce code est tout à fait valable...
Par contre ton tableau doit être suffisamment grand pour contenir tous les char existant... donc si tu as besoin d'un nombre restreint de valeur il est préférable d'utiliser une Map.
a++
Oui ce code est valable mais il se limite à 26 lignes du coup... à moins d'utiliser des caractères spéciaux. Je ne crois que cela soit la solution recherchée.
Il me semble Hashtable est particulièrement adapté en terme de performance pour des recherches rapides mais elle nécessite d'être correctement paramétrée avec une taille initiale et un loadFactor. Si tu sais que tu auras beaucoup d'éléments, initialise tout de suite ta Hashtable avec un grand nombre de lignes car l'agrandissment peut-être très gourmant en temps. Idem pour le loadFactor, il peut-être gourmant si tu as beaucoup d'éléments à stocker (10000 par exemple), que tu initialise ta Hashtable avec une taille de 100 et que tu l'agrandis par 10 lignes. Tu perdras énormément de temps à agrandir ta Hashtable alors qu'en l'initialisant directement à 10000 tu gagnera 80% de temps.