LINUX.ORG.RU

История изменений

Исправление 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, :

https://docs.rs/multimap/0.6.0/multimap/, хотя это на основе HashMap.

Исходная версия vertexua, :