Как изменить ключ
Просто удалите старый ключ, а затем снова вставьте с новым ключом.
map = new Map(Types::String,Types::Real)
map.insert("a", 1);
map.insert("b", 2);
map.insert("c", 3);
map.remove("b"); // remove key
map.insert("y", 2); // reinsert new key with value
Как изменить значение
Просто вставьте значение с insert. У ключа нет дубликатов, вместо этого он перезаписывается.
Возвращаемое значение
Тип: логическое
верно, если ключ уже не существует на карте и был включен; в противном случае - false.
Примечания
Если ключ уже существует в карте, значение обновляется.
Например, чтобы вручную суммировать количество линий группировки по пункту группы:
Map map = new Map(Types::String,Types::Real);
SalesLine sl;
while select sl where sl.SalesId == "123"
{
map.insert(sl.ItemGroup, sl.LineAmount + (map.exists(sl.ItemGroup) ? map.lookup(sl.ItemGroup) : 0);
}
эквивалентно, но производительность мудрым уступает:
select sum(LineAmount) sl group ItemGroup where sl.SalesId == "123";