当前位置: 首页 > 知识库问答 >
问题:

JavaHashMap多个键,灵活分配多个值

巢星纬
2023-03-14

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

字1/字2

单词2/单词3

单词3/单词4

我已经稍微改变了这种方法。我想将键的值存储在数组列表中。这意味着每次出现新键时都会存储一个新的 Arraylist 和键,但如果键在映射中,我想将它们存储在这个键的列表中。这可能吗?

我们必须将它们存储在哈希图中。但我无法让它发挥作用:

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

    }

问题是看跌订单。你们中的任何人知道如何获得

hmap.put(fixWort, new ArrayList<String>().add(line));

hmap.put(fixWort, wort2.add(line));

工作?

谢谢你的帮助!再见!

共有1个答案

巫懿轩
2023-03-14

我想我会看到这样的东西

List l = hmap.get(line);
if (l != null) {
     l.add(line));
}else {
     l = new ArrayList<String>();
     l.add(line)
     hmap.put(line, l);
}

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

 类似资料:
  • 问题内容: 我们是否可以用一个键和两个值实现HashMap。就像HashMap一样? 还请告诉我(如果没有办法)通过其他任何方法来实现三个值的存储(以一个为键)的方法,对我有帮助吗? 问题答案: 你可以: 使用具有列表作为值的地图。 创建一个新的包装器类,并将该包装器的实例放置在地图中。。 使用类似类的元组(节省创建许多包装器)。。 并排使用多个地图。 例子 1.使用列表作为值进行映射 这种方法的

  • 我读过很多关于这方面的文章,但也有2012年或更早的文章。 (我只是打算从数据库中读取和插入一些数据。)

  • 这将产生以下结果 我所感兴趣的实际上只是上面结果中的列表,我希望理想地将其作为groupby操作的一部分来完成。我知道这是可以做到的,例如,通过循环结果映射结构。但是有没有一种方法可以使用流来实现它呢?

  • 问题内容: 我有一张桌子,该桌子应该可以追踪从一家供应商向另一家供应商运送产品的天数和成本。我们(出色地:p)在产品供应商表中存储了运输供应商(FedEx,UPS)和产品处理供应商(Think … Dunder Mifflin)。因此,我的SHIPPING_DETAILS表中有三列,均引用VENDOR.no。由于某种原因,MySQL不允许我将全部三个都定义为外键。有任何想法吗? 编辑删除双主键定义

  • 问题内容: 我已经定义了一个Java数组,例如 我想在代码中进一步做这样的事情: 但这给了我一个编译错误。是否有一次更好的方法来一次定义多个值,而不是这样做? 谢谢! 问题答案: 是: 仅 在初始化程序中允许使用此语法。您不能在作业中使用它,以下是最佳做法: 要么 试图在语言规范中找到对此的参考,但是它像以往一样难以理解。其他人找到一个吗?

  • 问题内容: 我很想知道是否有一种“ pythonic”的方法来将列表中的值分配给元素?更清楚地说,我要的是这样的东西: 以便: 我正在寻找比手动执行任何其他更好的选择: 问题答案: 只需输入: 当您像上面那样被分配给多个变量时,Python就会使用。 在此扩展中,您还可以解压缩为多个小于使用star运算符的长度的变量: