在不同时间保存哈希图



我的问题是:我正在尝试将属性的值保存到哈希图中。每次我单击时,它都会将一组新变量保存到我的哈希图中,但是当我去输出保存的变量时,即使我有 hashMap 循环,它也只会显示新保存的变量。这是为什么呢?

我有

Map<Boolean, Integer> property = new HashMap<Boolean, Integer>();

作为全局变量

这就是我将变量保存到我的哈希图的方式

property.put(m.turn, tempBoard.current.position);

每次我在一系列事件发生后单击某个图像时都会发生这种情况,尽管它们不会影响哈希图

然后,我返回到创建哈希映射的同一类,但过程不同。我用来循环哈希映射的代码是:

for (Map.Entry<Boolean, Integer> entry : property.entrySet()) {
        System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
    }

这仅将新保存的变量输出到哈希映射,而不输出任何其他保存变量。

老实说,我一直在搜索谷歌,试图找到它不会在保存变量的开头开始的原因。我找不到任何类似于我的问题的东西,因为每隔一个示例,它们都会同时将其变量保存到哈希图中;切勿在不同时间或事件之间。

感谢任何帮助,并为这篇文章的措辞感到抱歉。我不知道如何更好地解释它:)

如何在哈希图中存储 2 个以上的值?我认为您需要了解哈希图的工作原理,在哈希图中,您针对唯一键存储一个值,如果您使用一些已经添加的键,则 put 方法将始终用传递的新值替换键的旧值,否则它将针对给定键添加此值。
现在,您只需要弄清楚如何存储所有值以及要使用的键类型。查看此链接以获取HashMap的详细信息https://docs.oracle.com/javase/8/docs/api/java/util/HashMap.html

最新更新