Encontrar la posición del elemento en un Java TreeMap

Estoy trabajando con un TreeMap of StringsTreeMap<String, String>, y usarlo para implementar un Dictionay de palabras.

uego tengo una colección de archivos y me gustaría crear una representación de cada archivo en el espacio vectorial (espacio de palabras) definido por el diccionario.

Cada archivo debe tener un vector que lo represente con las siguientes propiedades:

vector debe tener el mismo tamaño que el diccionariopor cada palabra contenido en el archivo, el vector debe tener una1 en la posición correspondiente a la posición de la palabra en el diccionariopor cada palabrano contenido en el archivo, el vector debe tener una -1 en la posición correspondiente a la posición de la palabra en el diccionario

Entonces mi idea es usar unVector<Boolean> para implementar estos vectores. (Esta forma de representar documentos en una colección se llama Modelo booleano -http: //www.site.uottawa.ca/~diana/csi4107/L3.pd)

El problema al que me enfrento en el procedimiento para crear este vector es que necesito una forma de encontrar la posición de una palabra en el diccionario, algo como esto:

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

1) ¿Existe algún método como este que pueda usar en un TreeMap? Si no, ¿podría proporcionar algún código para ayudarme a implementarlo yo mismo?

2) ¿Hay un iterador en TreeMap (está ordenado alfabéticamente en las teclas) del cual puedo obtener posición?

3) ¿Debería utilizar otra clase para implementar el diccionario? (Si cree que con TreeMaps no puedo hacer lo que necesito) En caso afirmativo, ¿cuál?

Gracias por adelantado

PARTE AGREGADA:

La solución propuesta por dasblinkenlight se ve bien pero tiene el problema de complejidad (lineal con la dimensión del diccionario debido a la copia de claves en una matriz), y la idea de hacerlo para cada archivo no es aceptable.

¿Alguna otra idea para mis preguntas?

Respuestas a la pregunta(16)

Su respuesta a la pregunta