gpt4 book ai didi

Java 在 HashMap 中存储对象,以元素字段为键

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:15:02 24 4
gpt4 key购买 nike

我有一系列包含 name 字段的对象,我想将它们存储在 HashMap 中,每个对象的键都是 name。有没有一种方法可以做到这一点,即更改对象的 name 字段也会更改 HashMap 中的键(反之亦然)。

(在 Java 中是否可能有一种双重引用,这样键引用 name 字段(引用字符串))。

最佳答案

这不受任何 native 功能的支持。

你需要做的是在某个地方有一个特殊的方法,比如

public static void updateName(String oldname, String newname, Map<String,MyObject> map) {
synchronized(map) {
MyObject obj = map.remove(oldname);
obj.setName(newname);
map.put(newname,obj);
}
}

并正确记录所有内容,以便开发人员知道在更改名称时要非常小心。

请注意,这不会执行典型的错误检查(如果它不存在于旧 map 中怎么办?如果某些内容为空怎么办?)- 那些糟糕的路径情况在这里未处理。我确信它们不会超出典型程序员的掌握范围。 =)

关于Java 在 HashMap 中存储对象,以元素字段为键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536302/

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