нужно сгруппировать эти значения в HashMap для более быстрого поиска по группировке. Например, есть юзеры по странам, нужно иметь возможность получить всех юзеров из одной страны за константное время.
Проблема в следующем: чтобы собрать хеш таблицу, мне нужны мутабельные вектора (я их наполняю), но в структуре это хранится должно как иммутабельное (я уже собрал данные, и не собираюсь их мутировать), Как положить мутабельный вектор туда, где требуется иммутабельный?
Просто используй entry api: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=acd58bf5d9fe48d52ebb90089cc40c7f
Это красиво, только вспомнил за ентри и уже колупал его, но вы меня опередили. Но вопрос в том, как это сделать без ентри, актуален.
А зачем это делать без entry?
Вот ещё вариант: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=8a10d2ec7910139a8cffe679159af530 Почти однострочник: users.into_iter().map(|u| (u.country, u)).into_group_map()
Обсуждают сегодня