gpt4 book ai didi

java - 每个值的迭代运行多次 LinkedHashMap

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

我让 XStream 使用此 xml 为我构建链接 HashMap :

<linked-hash-map>
<entry>
<string>#!/masterofsoundtrack/broadcast</string>
<broadcast>
<attributes class="linked-hash-set"/>
<url>#!/masterofsoundtrack/broadcast</url>
<name>MasterofSoundtrack</name>
<description></description>
<startsClosed>false</startsClosed>
</broadcast>
</entry>
<entry>
<string>MasterofSoundtrack</string>
<broadcast reference="../../entry/broadcast"/>
</entry>
</linked-hash-map>

注意:如果您不明白 XStream 的用途,它会将 XML 转换为对象。上面的 XML 意味着有一个链接的 HashMap ,其中两个键都指向同一个对象。

但是,当我使用以下代码迭代此操作时:

for(Broadcast broadcast: map.getValues()){
managers.add(new Manage(broadcast));
}

我运行了managers.add()行两次。如果我调试并查看 map ,它们具有不同的 ID,但看起来相同。这是 XStream 的错误,还是我不明白 getValues() 的问题?

最佳答案

HashMap<String, Object> map = new HashMap<>();
Object o = new Object;
map.put("1", o);
map.put("2", o);
System.out.print(map.values().size()) //prints 2

只要键是唯一的,无论值是否相等,您都会为每个值获得一个单独的条目。

关于java - 每个值的迭代运行多次 LinkedHashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18223040/

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