Skip to main content

BTreeMap

Struct BTreeMap 

Source
pub struct BTreeMap<K, V> { /* private fields */ }
Expand description

Ordered map based on an in-memory copy-on-write B+ tree

Implementations§

Source§

impl<K, V> BTreeMap<K, V>

Source

pub fn new() -> Self

Create a new, empty map

Source

pub fn insert(&mut self, key: K, value: V) -> Option<V>
where K: Clone + Ord, V: Clone,

Insert an entry, returning the existing value if present

Source

pub fn remove(&mut self, key: &K) -> Option<V>
where K: Clone + Ord, V: Clone,

Remove an entry, returning the existing value if present

We follow the advice of the Deletion without rebalancing in multiway search trees paper, which suggests “rebalancing on deletion not only is unnecessary but may be harmful.”

Source

pub fn get(&self, key: &K) -> Option<&V>
where K: Ord,

Get a shared reference to the value associated with the given key

Source

pub fn get_mut(&mut self, key: &K) -> Option<&mut V>
where K: Clone + Ord, V: Clone,

Get an exclusive reference to the value associated with the given key

Source

pub fn contains_key(&self, key: &K) -> bool
where K: Ord,

Check whether the key is present in the map

Source

pub fn len(&self) -> usize

Return the number of entries in the map

Source

pub fn is_empty(&self) -> bool

Check whether the map has any entries

Trait Implementations§

Source§

impl<K: Clone, V: Clone> Clone for BTreeMap<K, V>

Source§

fn clone(&self) -> BTreeMap<K, V>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<K: Debug, V: Debug> Debug for BTreeMap<K, V>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<K, V> Default for BTreeMap<K, V>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<K, V> Extend<(K, V)> for BTreeMap<K, V>
where K: Clone + Ord, V: Clone,

Source§

fn extend<I>(&mut self, iter: I)
where I: IntoIterator<Item = (K, V)>,

Extends a collection with the contents of an iterator. Read more
Source§

fn extend_one(&mut self, item: T)

🔬This is a nightly-only experimental API. (extend_one)
Extends a collection with exactly one element.
Source§

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

Auto Trait Implementations§

§

impl<K, V> Freeze for BTreeMap<K, V>
where Arc<Node<K, V>>: Freeze,

§

impl<K, V> RefUnwindSafe for BTreeMap<K, V>
where Arc<Node<K, V>>: RefUnwindSafe,

§

impl<K, V> Send for BTreeMap<K, V>
where Arc<Node<K, V>>: Send,

§

impl<K, V> Sync for BTreeMap<K, V>
where Arc<Node<K, V>>: Sync,

§

impl<K, V> Unpin for BTreeMap<K, V>
where Arc<Node<K, V>>: Unpin,

§

impl<K, V> UnsafeUnpin for BTreeMap<K, V>
where Arc<Node<K, V>>: UnsafeUnpin,

§

impl<K, V> UnwindSafe for BTreeMap<K, V>
where Arc<Node<K, V>>: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.