Trouver la position de l'élément dans une Java TreeMap

Je suis en train de travailler avec un TreeMap de Chaînes TreeMap<String, String>, et de l'utiliser pour mettre en œuvre un Dictionay de mots.

Je puis avoir une collection de fichiers, et voudrais créer une représentation de chaque fichier dans l'espace vectoriel (espace de mots) défini par le dictionnaire.

Chaque fichier doit avoir un vecteur représentant avec des propriétés suivantes:

  • vecteur doit avoir la même taille que le dictionnaire
  • pour chaque mot contenues dans le fichier, le vecteur doit avoir un 1 dans la position correspondant à la position du mot dans le dictionnaire
  • pour chaque mot ne figurant pas dans le fichier, le vecteur doit avoir un -1 dans la position correspondant à la position du mot dans le dictionnaire

Donc, mon idée est d'utiliser un Vector<Boolean> de mise en œuvre de ces vecteurs. (Ce mode de représentation des documents dans une collection est appelé Modèle Booléen - http://www.site.uottawa.ca/~diana/csi4107/L3.pdf)

Le problème, je suis confronté dans la procédure de création de ce vecteur est que j'ai besoin d'un moyen de trouver la position d'un mot dans le dictionnaire, quelque chose comme ceci:

String key;
int i = get_position_of_key_in_Treemap(key); <--- purely invented method...

1) existe t'il une méthode comme ça je peux l'utiliser sur un TreeMap?Si non pourriez-vous fournir un peu de code pour m'aider à mettre en œuvre par moi-même?

2) Est-il un itérateur sur TreeMap (c'est par ordre alphabétique sur les touches) que j'ai peut obtenir la position?

3)Finalement, dois-je utiliser une autre classe pour mettre en œuvre le dictionnaire?(Si vous pensez qu'avec les Arborescences je ne peux pas faire ce dont j'ai besoin) Si oui, lesquelles?

Merci d'avance.

LA PARTIE RAJOUTÉE:

Solution proposée par dasblinkenlight semble bien, mais le problème de la complexité (linéaire, avec la dimension de dictionnaire en raison de la copie de clés dans un tableau), et l'idée de le faire pour chaque fichier n'est pas acceptable.

Toutes les autres idées pour mes questions?

Est-il un arbre de carte ou d'un ensemble arbre? Vous auriez besoin d'un deuxième paramètre de modèle pour un arbre de la carte...
Oublié..C'est un TreeMap mais le deuxième paramètre de modèle n'est pas important pour la question que je me pose.Je vais le modifier.

OriginalL'auteur Matteo | 2011-12-14