gpt4 book ai didi

Java:显式设置 HashMap 的键并保留对其的引用

转载 作者:行者123 更新时间:2023-12-02 00:06:24 24 4
gpt4 key购买 nike

public static HashMap<ArrayList<Integer>, String> map = new HashMap<ArrayList<Integer>, String>();  
public static ArrayList<ArrayList<Integer>> keys = new ArrayList<>(map.keySet());

然后在main

map.put(key, "c");

(假设key是一个有效的ArrayList)。但此后 keys 的大小仍然为 0。

如何使之间的关系更牢固,以便它实际上与 HashMap 绑定(bind)并包含其所有键。

最佳答案

ArrayList 的复制构造函数将映射中的所有键复制到 ArrayList,但如果在此之后更改映射,它将不会被反射(reflect)。

我能想到3个选择:

  • 编写您自己的 map 实现,嵌入 ArrayList 并使其保持最新
  • 每次更新 map 时手动更新 ArrayList
  • 根本不要使用 ArrayList(当您需要访问 key 时,keySet() 就会出现,所以我不确定为什么您需要它)

关于Java:显式设置 HashMap 的键并保留对其的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13785551/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com