将更多字符串映射到一个值

时间:2018-02-26 03:20:57

标签: java constructor hashmap

我有一个构造函数,它将文本文件中单词的第一个字母映射到以该字母开头且长度超过3个字符的所有单词

 protected WordStore(String file){
    try (BufferedReader br = Files.newBufferedReader(Paths.get(file))) {
         this.bigMap = br.lines().filter(line -> line.length() > 3).collect(Collectors.groupingBy(s -> s.substring(0, 1)));
    } catch (IOException e) {
           e.printStackTrace();
    }
}

在读取文件时,构造函数应该为每个单词添加所有适用前缀的映射,直到该长度。
例如,对于前缀长度为3和单词“abacus”, 映射:

  • a - >算盘
  • ab - >算盘
  • aba - >算盘

应该加上。

也应忽略短于或等于前缀长度的单词。

您如何更改我已经拥有的构造函数以便它完成此任务?我很确定我应该为构造函数添加另一个参数,该构造函数为最大前缀长度加载字典但是我被卡住了。

0 个答案:

没有答案