Criando um Map a partir de uma List

Há alguma maneira de se fazer isso sem ter que ficar iterando sobre a lista? Existe algo como:

Map meuMap = ClasseMagica.toMap(List);

Li a doc da classe Collections e não encontrei algo que fizesse isso. Tambem estou procurando na api commons-collections da jakarta mas sem sucesso até agora. O que eu queria era um metodo que pegasse uma lista e criasse um Map onde a chave seria o proprio valor.

Até.

Onde a chave é o próprio valor?! Diacho, pra quê vc quer uma coisa dessas!? :shock:

Bom, a chave seria o proprio valor por que a List é de Strings. O fato é que eu tenho um metodo já pronto que lê um conjunto de palavras de um arquivo, faz uma serie de processamentos com essas palavras e depois retorna uma List.

Agora, para fazer um mecanismo de buscas, vamos usar o Jakarta Lucene e o conjunto de stop words (palavras que não serão indexadas) deve ser uma Hashtable. Nessa hash, onde há apenas Strings, a chave é o proprio valor daí, tenho a necessidade de usar o metodo que retorne uma list, e transformar num Map. Eu não gostaria de copiar o metodo e mudar apenas algumas besteiras para retornar um Map.

Até.

Hmmm… entendi… bom, vc pode criar um métodozinho estático que faça isso:

private static listToMap(List list) { Map ret = new HashMap(); for(Iterator i = list.iterator(); i.hasNext();) { String e = (String) i.next(); ret.put(e,e); } return ret; }

Putz… resposta instantanea… :smiley:

Valeu cv, vou fazer isso mesmo. :wink:

Até.