Best data storage method
Hey, iv just got a simple problem what would be the best method for storing this type of data
list of words followed by a list of files the word is contained in e.g
would i use hashset -hashmap or is it possible with arraylist
which i wish to add to this list when i find another word contained in a file so if the word is new then it gets added otherwise if i word contained in a file such as "ok" in "f.txt" it becomes
cheers in advance
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 ...
Last edited by nspils; 03-20-2006 at 05:39 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();
Last Post: 02-21-2003, 12:43 AM
By Phil Weber in forum .NET
Last Post: 12-15-2002, 02:37 AM
By Jim in forum Architecture and Design
Last Post: 08-30-2002, 08:49 AM
By skrobism in forum VB Classic
Last Post: 01-23-2001, 11:44 PM
By William Gaddam in forum VB Classic
Last Post: 05-02-2000, 10:19 PM
-- Android Development Center
-- Cloud Development Project Center
-- HTML5 Development Center
-- Windows Mobile Development Center