gpt4 book ai didi

java - 从 转换为 时无法从 map 获取所有记录

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:13 24 4
gpt4 key购买 nike

我有一个类型为 Map<String,Object> 的变量 value1包含值的类型

value1{assetName=Account, assetInstanceName=Savings, desc=asdasd}

value1{assetName=Service, assetInstanceName=AccountService1, desc=asd}

当我将其转换为 Map<String,String> 时使用下面的代码输入我只得到 value1 的最后一条记录。我怎样才能获得这两条记录?

        Map<String, String> newMap = new HashMap<String, String>();

for (Map.Entry<String, Object> entry : value1.entrySet()) {

try {

newMap.put(entry.getKey(), (String) entry.getValue());

} catch (ClassCastException cce) {

}

}

最佳答案

从 Map value1 的输出来看,您似乎使用相同的键插入了不同的值。 HashMap不允许重复的键。如果在同一键上插入新值,它将覆盖以前的值。
从输出来看

value1{assetName=Account, assetInstanceName=Savings, desc=asdasd}

value1{assetName=Service, assetInstanceName=AccountService1, desc=asd}

您已经覆盖了同一个键上的值,当您迭代时,它只会给您插入的最后一个值,因为以前的值将被新值覆盖。

如果你想在同一个键上插入多个值,你可以使用 ArrayList存储值并将 List 添加到 HashMap 中。

这里是different way to insert multiple value on same key .

关于java - 从 <String, Object> 转换为 <String, String> 时无法从 map 获取所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21422641/

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