pub struct Map<K, V> { /* private fields */ }
Expand description
map_vec::Map
is a data structure with a HashMap
-like API but based on a Vec
.
It’s primarily useful when you care about constant factors or prefer determinism to speed.
Please refer to the docs for HashMap
for details and examples of the Map API.
Example
let mut map = map_vec::Map::new();
map.insert("hello".to_string(), "world".to_string());
map.entry("hello".to_string()).and_modify(|mut v| v.push_str("!"));
assert_eq!(map.get("hello").map(String::as_str), Some("world!"))
Implementations§
source§impl<K: Eq, V> Map<K, V>
impl<K: Eq, V> Map<K, V>
pub fn new() -> Self
pub fn with_capacity(capacity: usize) -> Self
pub fn capacity(&self) -> usize
pub fn clear(&mut self)
pub fn contains_key<Q>(&self, key: &Q) -> bool
pub fn drain(&mut self) -> Drain<'_, (K, V)>
pub fn entry(&mut self, key: K) -> Entry<'_, K, V>
pub fn get<Q>(&self, key: &Q) -> Option<&V>
pub fn get_key_value<Q>(&self, key: &Q) -> Option<(&K, &V)>
pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
pub fn insert(&mut self, key: K, value: V) -> Option<V>
pub fn is_empty(&self) -> bool
pub fn iter(&self) -> Iter<'_, K, V> ⓘ
pub fn iter_mut(&mut self) -> IterMut<'_, K, V> ⓘ
pub fn keys(&self) -> Keys<'_, K, V> ⓘ
pub fn len(&self) -> usize
pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
pub fn reserve(&mut self, additional: usize)
pub fn retain(&mut self, f: impl FnMut(&K, &mut V) -> bool)
pub fn shrink_to_fit(&mut self)
pub fn values(&self) -> Values<'_, K, V> ⓘ
pub fn values_mut(&mut self) -> ValuesMut<'_, K, V> ⓘ
pub fn shrink_to(&mut self, min_capacity: usize)
pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>
Trait Implementations§
source§impl<'de, K, V> Deserialize<'de> for Map<K, V>
impl<'de, K, V> Deserialize<'de> for Map<K, V>
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl<'a, K: 'a + Copy + Eq, V: 'a + Copy> Extend<(&'a K, &'a V)> for Map<K, V>
impl<'a, K: 'a + Copy + Eq, V: 'a + Copy> Extend<(&'a K, &'a V)> for Map<K, V>
source§fn extend<T: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one
)Extends a collection with exactly one element.
source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
source§impl<K: Eq, V> Extend<(K, V)> for Map<K, V>
impl<K: Eq, V> Extend<(K, V)> for Map<K, V>
source§fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)
fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)
Extends a collection with the contents of an iterator. Read more
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
🔬This is a nightly-only experimental API. (
extend_one
)Extends a collection with exactly one element.
source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
🔬This is a nightly-only experimental API. (
extend_one
)Reserves capacity in a collection for the given number of additional elements. Read more
source§impl<'a, K, V> IntoIterator for &'a Map<K, V>
impl<'a, K, V> IntoIterator for &'a Map<K, V>
source§impl<'a, K, V> IntoIterator for &'a mut Map<K, V>
impl<'a, K, V> IntoIterator for &'a mut Map<K, V>
source§impl<K, V> IntoIterator for Map<K, V>
impl<K, V> IntoIterator for Map<K, V>
source§impl<K: PartialEq, V: PartialEq> PartialEq for Map<K, V>
impl<K: PartialEq, V: PartialEq> PartialEq for Map<K, V>
impl<K: Eq, V: Eq> Eq for Map<K, V>
impl<K, V> StructuralEq for Map<K, V>
impl<K, V> StructuralPartialEq for Map<K, V>
Auto Trait Implementations§
impl<K, V> RefUnwindSafe for Map<K, V>where
K: RefUnwindSafe,
V: RefUnwindSafe,
impl<K, V> Send for Map<K, V>
impl<K, V> Sync for Map<K, V>
impl<K, V> Unpin for Map<K, V>
impl<K, V> UnwindSafe for Map<K, V>where
K: UnwindSafe,
V: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more