我有这样的功能:插入到包含HashMap的是HashMap,Java的
public void insert(String token, int docID)
{
insertNormIdx(token, docID);
}
正在由主程序不断调用。 docID是一个文档的ID,token是我们在文档中找到的一个词。
所以这个函数被调用很多次,直到所有的文档都被解析。我想要做的是创建一个包含一个条目docID的hashmap,这应该指向另一个包含我们在文档中找到的单词(令牌)的hashmap。
也就是说,如果我们在文档(docID)'5'中找到10次单词(标记)'the',我想要一个保存这些信息的结构,如:5,the,10。
这是我做了什么,但它并没有真正的工作,只保留第一个字从文件:
HashMap<Integer, HashMap<String, Integer>> normal_idx = new HashMap<Integer, HashMap<String, Integer>>();
public void insertNormIdx(String token, int docID)
{
HashMap<String, Integer> val = new HashMap<String, Integer>();
if(!normal_idx.containsKey(docID))
{
val.put(token, 1);
normal_idx.put(docID, val);
}
if (normal_idx.containsKey(docID))
{
if (normal_idx.get(docID).get(token)!=null)
{
val.put(token, normal_idx.get(docID).get(token)+1);
normal_idx.put(docID, val);
}
}
}
这个衬垫......脑海=吹,谢谢 –