Скопируйте определенный набор значений ключей HashMap в другой - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь получить значения определенного ключа 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); "

1 Ответ

0 голосов
/ 15 октября 2019

Ваш код не отражает ваш вопрос. Что я понял - вам нужны значения определенного ключа или набора ключей, а затем вы хотите скопировать эти значения в новый. Это то, что я пробовал, вы можетеобновите этот цикл:

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

  //    taking some values for a clear understanding
  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>>();

  List<String> tradeIDs = Arrays.asList("AA", "CC", "DD");

  for (String tradeID : tradeIDs)
  {
     if (tradeDetailsNewOrPrevious.keySet().contains(tradeID))
     {
        temp.put(tradeID, tradeDetailsNewOrPrevious.get(tradeID));
     }
  }

Он скопирует все значения с ключами, совпадающими с идентификаторами tradeID.

Если это не то, что вы ищетеуточните вопрос в комментарии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...