Depends on what you want to manipulate when you look for the "word" - if it is a list of all of the files which contain the word, and you are pre-processing the list, then a "graph" structure of a list of lists is what I would go with. When a new file is found with the word, a node with that file name as a value would be added to the list associated with that word ... now, you can organize the words in a hashlist in which the word is the index generating the hash, and the associated object being stored the list of files with a name - if you are going to find more frequently than you are going to be generating your table ...
If you are adventursome, and want to expand your repertoire, take a look at "tries" ... a perfect use of tries is for a glossary ...
03-20-2006, 08:58 PM
From what I can gather, you should use a HashMap. use your words as the key and value as a Set/List [use set if you do not want duplicate filenames for the same word and if you need duplicate filenames use a list] of file names in a list.
String key = "hello"
String value = "sample.txt"
Map mapWords = new HashMap();
List listFiles = mapWords.get(key);
List listFiles = new ArrayList();