0

我将术语索引保存在 HashMap 中,其中 String 是术语,如果在文档中找到该术语,则为 List。

 private static Map<String, List<Integer>> termMap;

此哈希图包含文档中找到的术语的索引。但是术语的数量相当大。所以我计划不时将地图写入磁盘并刷新地图。我已经编写了代码,它正在将地图写入磁盘。

 fileOutputStream = new FileOutputStream("files/termMap.txt");
                           objectOutputStream = new ObjectOutputStream(fileOutputStream);
                           objectOutputStream.writeObject(authMap);
                           objectOutputStream.close();

但是当第二次尝试写入磁盘时,我无法检查已经存在的术语并更新文档列表而不是替换它们,就像我通常使用下面的代码对 hashmap 所做的那样,

if (termMap.containsKey(key)) {

                                   termMap.get(key).add(valueId);

                           } else {
                                   List<Integer> list = new ArrayList<Integer>();
                                   list.add(valueId);
                                   termMap.put(key, list);
                           }

请帮忙!

4

0 回答 0