А удалять-то зачем? Map, вообще-то, не допускает появления дубля ключа, но при этом и вставку не запрещает. Таким образом, вставка в Map того же самго значения ключа фактически означает замену содержимого. Т.е. команда
Map.remove(key);
просто лишняя. Ее безболезненно можно удалить.
X++:
Map.insert(key, ["1"]);
print map.lookup(key);
Map.insert(key, ["2"]);
print map.lookup(key);
pause;
Хотя, в общем случае, модификация ключа по которому выполняется сканирование - очень рискованное занятие. Тут ведь еще возникают вопросы сортировки. Где окажется новое значение. Не получится ли так, что Вы пропустите часть ключей или наоброт, по каким-то пройдетесь несколько раз.