23个版本 (13个破坏性版本)
0.14.0 | 2024年6月14日 |
---|---|
0.13.4 | 2024年3月22日 |
0.12.0 | 2023年12月22日 |
0.10.0 | 2023年11月21日 |
0.1.0 | 2021年12月24日 |
#590 in 数据结构
每月202次下载
195KB
4.5K SLoC
更多集合
不在std::collections中找到的附加Rust集合。
小型*集合
基于出色的smallvec crate构建,如果包含的值少于(静态选择的)容量C
,则SmallMap
和SmallSet
分别是一个Map
和Set
,否则它们是堆分配的,并由一个IndexMap
支持。
完成 | 名称 | 行为 |
---|---|---|
🟩🟩🟨⬜️⬜️ | SmallMap | IndexMap<K, V> |
🟩🟩🟨⬜️⬜️ | SmallSet | IndexSet<T> |
⬜️⬜️⬜️⬜️⬜️ | SmallSortedMap | BTreeMap<K, V> |
⬜️⬜️⬜️⬜️⬜️ | SmallSortedSet | BTreeSet<T> |
多映射
完成 | 名称 | 行为 |
---|---|---|
🟩🟩🟩🟩🟨 | HashSetMultimap | HashMap<K, HashSet<V>> |
🟩🟩🟩🟩🟨 | HashVecMultimap | HashMap<K,Vec<V>> |
🟩🟩🟩🟩🟨 | IndexSetMultimap | IndexMap<K, IndexSet<V>> |
🟩🟩🟩🟩🟨 | IndexVecMultimap | IndexMap<K,Vec<V>> |
⬜️⬜️⬜️⬜️⬜️ | BTreeSetMultimap | BTreeMap<K, BTreeSet<V>> |
⬜️⬜️⬜️⬜️⬜️ | BTreeVecMultimap | BTreeMap<K,Vec<V>> |
⬜️⬜️⬜️⬜️⬜️ | EnumHashSetMultimap | EnumMap<K, HashSet<V>> |
⬜️⬜️⬜️⬜️⬜️ | EnumIndexSetMultimap | EnumMap<K, IndexSet<V>> |
⬜️⬜️⬜️⬜️⬜️ | EnumVecMultimap | EnumMap<K,Vec<V>> |
⬜️⬜️⬜️⬜️⬜️ | EnumEnumMultimap | EnumMap<K, EnumSet<V>> |
详细概述.
VecMap
完成 | 名称 | 替换 | 实现方式 | 特色功能 |
---|---|---|---|---|
🟩🟩🟩🟨⬜️ | VecMap | IndexMap<K,V> |
Vec<Option<T>> |
快速随机访问 |
多重集
完成 | 名称 | 行为 |
---|---|---|
⬜️⬜️⬜️⬜️⬜️ | IndexMultiset | IndexMap<K,usize> |
⬜️⬜️⬜️⬜️⬜️ | HashMultiset | HashMap<K,usize> |
⬜️⬜️⬜️⬜️⬜️ | BTreeMultiset | BTreeMap<K,usize> |
⬜️⬜️⬜️⬜️⬜️ | EnumMultiset | EnumMap<K,usize> |
在此PR中已完成一些工作 https://github.com/rinde/more_collections/pull/8.
依赖
~185KB