我正在尝试获取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));