有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在处理更新时合并到文件中

我将术语索引保存在HashMap中,其中字符串是术语,如果在文档列表中找到了该术语,则列表为该术语

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

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

 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);
                           }

请帮忙


共 (0) 个答案