У меня есть HashMap, в котором Id хранится как ключ, а ArrayList — как значение. Для определенного ключа я хочу получить соответствующий ArrayList и манипулировать одним из элементов типа IEntity внутри этого ArrayList.
Мой вопрос: когда я обновляю свойство элемента, будет ли это отражено в ArrayList внутри HashMap? Или мне придется удалить список, заменить этот элемент в списке и снова вставить список для этого ключа, чтобы увидеть отраженное значение в HashMap. Я знаю, что Java передается по значению, но немного сложно понять этот сценарий.
Ниже приведен код, который у меня есть. Спасибо
ArrayList<IEntity> list = myMap.get(id);
Iterator<IEntity> itr = list.iterator();
while(itr.hasNext()){
IEntity element = itr.next();
if(element.checkSomeProperty() == false){
element.setThatProperty(true);
// will above statement reflect the change in ArrayList stored in HashMap as well?
}
}