У словаря появился способ вставить значение или сразу вернуть ошибку
11.06.2026У обоих упорядоченных и неупорядоченных словарей появились методы, которые либо вставляют значение по умолчанию, либо возвращают ошибку из замыкания.
Какая была запись
Стандартный способ — проверить наличие ключа, и если его нет, вставить значение по умолчанию. Если вставка может провалиться, то проверка и вставка должны быть одной операцией: иначе между ними есть окно, в котором другой поток вставит то же самое.
Метод, который возвращает ссылку на значение, решает эту задачу. Но когда вставка может завершиться ошибкой — например, значение нужно преобразовать и преобразование может не удаться, — подходящего метода не было. Приходилось брать занятую запись и применять преобразование к её значению, что требует дополнительных проверок на стороне вызывающего.
Что добавлено
Два метода: первый вызывает замыкание без аргумента, второй — с ключом, когда значение по умолчанию зависит от него. Оба возвращают результат, где ошибка — это ошибка из замыкания.
Оригинал
add or_try_* variants for HashMap and BTreeMap Entry APIs
Упоминаний: 1 · Просмотров: 3