История изменений
Исправление
vertexua,
(текущая версия)
:
https://docs.rs/multimap/0.6.0/multimap/, хотя это на основе HashMap.
К этой структуре данных слишком много вопросов чтобы рубить с плеча. Можно захотеть горы вариаций
HashMap<K, Vec<T>>
HashMap<K, HashSet<T>>
HashMap<K, BTreeSet<T>>
BTreeMap<K, Vec<T>>
BTreeMap<K, HashSet<T>>
BTreeMap<K, BTreeSet<T>>
Стандартная библиотека старается не навязывать комбинцию. И через Entry API работать с этим просто.
map.entry("key").or_default().push("value");
При этом все еще можешь удалить все по одному ключу за один раз.
Исправление
vertexua,
:
https://docs.rs/multimap/0.6.0/multimap/, хотя это на основе HashMap.
К этой структуре данных слишком много вопросов чтобы рубить с плеча. Можно захотеть горы вариаций
HashMap<K, Vec<T>>
HashMap<K, HashSet<T>>
HashMap<K, BTreeSet<T>>
BTreeMap<K, Vec<T>>
BTreeMap<K, HashSet<T>>
BTreeMap<K, BTreeSet<T>>
Стандартная библиотека старается не навязывать комбинцию. И через Entry API работать с этим просто.
let mut v = map.entry("key").or_default();
v.push("value");
Исправление
vertexua,
:
https://docs.rs/multimap/0.6.0/multimap/, хотя это на основе HashMap.
К этой структуре данных слишком много вопросов чтобы рубить с плеча. Можно захотеть горы вариаций
HashMap<K, Vec<T>>
HashMap<K, HashSet<T>>
HashMap<K, BTreeSet<T>>
BTreeMap<K, Vec<T>>
BTreeMap<K, HashSet<T>>
BTreeMap<K, BTreeSet<T>>
Стандартная библиотека старается не навязывать комбинцию. И через Entry API работать с этим просто.
Исправление
vertexua,
:
https://docs.rs/multimap/0.6.0/multimap/, хотя это на основе HashMap.
К этой структуре данных слишком много вопросов чтобы рубить с плеча. Можно захотеть горы вариаций
- HashMap<K, Vec>
- HashMap<K, HashSet>
- HashMap<K, BTreeSet>
- BTreeMap<K, Vec>
- BTreeMap<K, HashSet>
- BTreeMap<K, BTreeSet>
Стандартная библиотека старается не навязывать комбинцию. И через Entry API работать с этим просто.
Исправление
vertexua,
:
Исходная версия
vertexua,
: