Java HashMap分配了多个值的多个键

Java HashMap分配了多个值的多个键,java,hashmap,Java,Hashmap,我的Java代码有问题。我想在一个键中存储多个值,但我想灵活地存储它们。这意味着我从一个文本文件中读取,每一行都是一个单词。为了存储它们,我想构建成对的单词。例如: 字1/字2 字2/字3 字3/字4 我稍微改变了一下这个方法。我想将键的值存储在arraylist中。这意味着每当出现一个新的键时,就会出现一个新的Arraylist并存储该键,但是如果该键在映射中,我想将它们存储在该键的列表中。这可能吗 我们必须将它们存储在hashmap中。但我无法让它工作: private HashMap<

我的Java代码有问题。我想在一个键中存储多个值,但我想灵活地存储它们。这意味着我从一个文本文件中读取,每一行都是一个单词。为了存储它们,我想构建成对的单词。例如:

字1/字2

字2/字3

字3/字4

我稍微改变了一下这个方法。我想将键的值存储在arraylist中。这意味着每当出现一个新的键时,就会出现一个新的Arraylist并存储该键,但是如果该键在映射中,我想将它们存储在该键的列表中。这可能吗

我们必须将它们存储在hashmap中。但我无法让它工作:

private HashMap<String, ArrayList<String>> hmap = new HashMap<String, ArrayList<String>>();

    private ArrayList<String> wort2;

    public GrammelotH(String filename) throws IOException {
        String fixWort = ".";

        BufferedReader br = new BufferedReader(new FileReader(filename));
        while (br.ready()) {
            String line = br.readLine();
            if (hmap.containsKey(fixWort)) {
                hmap.put(fixWort, wort2.add(line));
            }else {
                hmap.put(fixWort, new ArrayList<String>().add(line));
            }

            fixWort = line;
        }

        br.close();

    }
工作

谢谢你的帮助!
再见

我想我会看到

List l = hmap.get(line);
if (l != null) {
     l.add(line));
}else {
     l = new ArrayList<String>();
     l.add(line)
     hmap.put(line, l);
}
List l=hmap.get(行);
如果(l!=null){
l、 添加(行));
}否则{
l=新的ArrayList();
l、 添加(行)
hmap.put(直线,l);
}

因此,您可以查看映射是否已经包含刚刚从文件中读取的
行。如果有,您只需将其添加到关联列表中。如果没有。创建一个列表,将
行添加到该列表中,然后将两者都添加到地图中。

是!在我发送第一篇帖子几秒钟后,我为它创建了一个解决方案。。。。。我是否应该将其发布为“答案”?@Felix如果这解决了问题(即使你已经解决了),我建议将其标记为未来用户接受
hmap.put(fixWort, wort2.add(line));
List l = hmap.get(line);
if (l != null) {
     l.add(line));
}else {
     l = new ArrayList<String>();
     l.add(line)
     hmap.put(line, l);
}