Я создал вложенную HashMap внутри класса, как показано ниже. Проблема здесь в том, что когда я вызываю функцию XOXO для разных CPID, например Profile1, Profile2, тогда HashMap сохраняет только последнее значение профиля, то есть Profile2.
Однако ясно, что я сохраняю внутренний HashMap PV во Outer HashMap CP для разные ключи каждый раз, то есть CPID (Profile1, Profile2)
public class abc
{
public static HashMap <String, HashMap<String,String> > CP= new HashMap<>();
HashMap<String, String> PV= null;
public void XOXO(CPID)
{
PV=new HashMap<>();
String Value1 = Function.getText(5,5);
String Value2 = Function.getText(6,6);
//Note value at coordinate (5,5)/(6,6) is changing for diff CPID
PV.put("AB", Value1);
PV.put("CD", Value2);
CP.put(CPID,PV);
}
}
Вывод:
{Profile1, {AB= 123, CD = 456}
{Profile2, {AB= 123, CD = 456}
Ожидаемый результат:
{Profile1, {AB= 999, CD = 888}
{Profile2, {AB= 123, CD = 456}