我有這樣的功能:插入到包含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);
}
}
}
這個襯墊......腦海=吹,謝謝 –