将HashMap的特定键值集复制到另一个

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将HashMap的特定键值集复制到另一个相关的知识,希望对你有一定的参考价值。

我正在尝试获取HashMap的特定键的值,然后将其复制到新的键中。有没有比我尝试的方法更有效的方法?预先感谢!

LinkedHashMap<String, List<String>> TradeDetailsNewOrPrevious = new LinkedHashMap<String, List<String>>();

LinkedHashMap<String, List<String>> temp = new LinkedHashMap<String, List<String>>();

temp = (LinkedHashMap<String, java.util.List<String>>) TradeDetailsModified.get(tradeID);

TradeDetailsNewOrPrevious = (LinkedHashMap<String, java.util.List<String>>) temp.clone();

我得到“ ClassCastException:

java.util.ArrayList无法转换为java.util.LinkedHashMap“

"temp = (LinkedHashMap<String, java.util.List<String>>) TradeDetailsModified.get(tradeID);行中]

答案

您的代码没有反映您的问题,我了解什么-您需要特定键或一组键的值,然后要将这些值复制到一个新值中,这是我尝试过的,可以更新这一个循环:

      LinkedHashMap<String, List<String>> tradeDetailsNewOrPrevious = new LinkedHashMap<>();

      tradeDetailsNewOrPrevious.put("AA", Arrays.asList("a", "aa", "aaa"));
      tradeDetailsNewOrPrevious.put("BB", Arrays.asList("b", "bb", "bbb"));
      tradeDetailsNewOrPrevious.put("CC", Arrays.asList("c", "cc", "ccc"));

      LinkedHashMap<String, List<String>> temp = new LinkedHashMap<String, List<String>>();

      String tradeID = "BB";

      temp.put(tradeID, tradeDetailsNewOrPrevious.get(tradeID));

以上是关于将HashMap的特定键值集复制到另一个的主要内容,如果未能解决你的问题,请参考以下文章

如何将值从一个活动中的片段传递到另一个活动? [复制]

Java HashMap原理

HashMap 将 onSaveInstanceState 从 Fragment 存储和恢复到另一个 Activity

如何将列表视图中的数据从一个片段发送到另一个片段

如何将 Parcelable 与 HashMap 一起使用

获取值的键而不是获取键值? [复制]