當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Rust BTreeMap.retain用法及代碼示例


本文簡要介紹rust語言中 alloc::collections::btree_map::BTreeMap.retain 的用法。

用法

pub fn retain<F>(&mut self, f: F) where    K: Ord,    F: FnMut(&K, &mut V) -> bool,

僅保留謂詞指定的元素。

換句話說,刪除所有對 (k, v) 使得 f(&k, &mut v) 返回 false 。元素按升序鍵順序訪問。

例子

use std::collections::BTreeMap;

let mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();
// Keep only the elements with even-numbered keys.
map.retain(|&k, _| k % 2 == 0);
assert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));

相關用法


注:本文由純淨天空篩選整理自rust-lang.org大神的英文原創作品 alloc::collections::btree_map::BTreeMap.retain。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。