当前位置: 首页 > news >正文

蓝海国际版网站建设做天猫网站价格

蓝海国际版网站建设,做天猫网站价格,拉人注册给佣金的app,wordpress与app交互std::collections::BTreeMap定义 B树也称B-树#xff0c;注意不是减号#xff0c;是一棵多路平衡查找树#xff1b;理论上#xff0c;二叉搜索树 #xff08;BST#xff09; 是最佳的选择排序映射#xff0c;但是每次查找时层数越多I/O次数越多#xff0c;B 树使每个节…std::collections::BTreeMap定义 B树也称B-树注意不是减号是一棵多路平衡查找树理论上二叉搜索树 BST 是最佳的选择排序映射但是每次查找时层数越多I/O次数越多B 树使每个节点都包含连续数组中的 B-1 到 2B-1 元素可以减少树的高度减少I/O次数 BTreeMap定义 pub struct BTreeMapK, V, A: Allocator Clone Global {// B 树的根节点root: OptionRootK, V,// B 树映射中存储的键值对的数量length: usize,// 分配器pub(super) alloc: ManuallyDropA,// PhantomData是一个零大小的类型用于向编译器提供类型信息但在运行时不占用任何空间_marker: PhantomDatacrate::boxed::Box(K, V), A, }方法 clear用于清空BTreeMap移除所有的键值对 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::new();map.insert(a, 1);map.insert(b, 2);map.clear();println!(After clear, is empty? {}, map.is_empty());// After clear, is empty? true }get用于获取指定键对应的值的不可变引用如果键不存在则返回None use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);if let Some(value) map.get(a) {println!(Value for a: {}, value);// Value for a: 1} else {println!(a not found.);} }get_key_value返回指定键对应的值和键的不可变引用如果键不存在则返回None use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);if let Some((key, value)) map.get_key_value(b) {println!(Key-value pair for b: {} - {}, key, value);// Key-value pair for b: b - 2} else {println!(b not found.);} }first_key_value返回BTreeMap中的第一个键值对如果地图为空则返回None use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);if let Some((first_key, first_value)) map.first_key_value() {println!(First key-value pair: {} - {}, first_key, first_value);// First key-value pair: a - 1} else {println!(Map is empty.);} }first_entry返回一个可变引用到BTreeMap中的第一个键值对如果地图为空则返回None use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);if let Some(first_entry) map.first_entry() {println!(First entry: {} - {}, first_entry.key(), first_entry.get());// First entry: a - 1} else {println!(Map is empty.);} }pop_first移除并返回BTreeMap中的第一个键值对如果地图为空则返回None use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);if let Some((popped_key, popped_value)) map.pop_first() {println!(Popped first pair: {} - {}, popped_key, popped_value);// Popped first pair: a - 1} else {println!(Map is empty.);} }pop_last移除并返回BTreeMap中的最后一个键值对如果地图为空则返回None use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);if let Some((last_key, last_value)) map.pop_last() {println!(Popped last pair: {} - {}, last_key, last_value);// Popped last pair: b - 2} else {println!(Map is empty.);} }contains_key判断BTreeMap中是否存在指定的键 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);println!(Contains a? {}, map.contains_key(a));// Contains a? true }get_mut返回指定键对应的值的可变引用如果键不存在则返回None use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);if let Some(value) map.get_mut(a) {*value 3;println!(Modified value for a: {}, value);// Modified value for a: 3} else {println!(a not found.);} }insert插入一个键值对到BTreeMap中如果键已经存在则覆盖旧值 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::new();map.insert(a, 1);map.insert(a, 2);println!(After insert: {:?}, map);// After insert: {a: 2} }remove移除指定键对应的键值对并返回被移除的值如果键不存在则返回None use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);if let Some(removed_value) map.remove(a) {println!(Removed value for a: {}, removed_value);// Removed value for a: 1} else {println!(a not found.);} }remove_entry移除指定键对应的键值对并返回被移除的键值对如果键不存在则返回None use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);if let Some((removed_key, removed_value)) map.remove_entry(b) {println!(Removed entry: {} - {}, removed_key, removed_value);// Removed entry: b - 2} else {println!(b not found.);} }retain保留满足给定谓词的键值对 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),(c, 3),]);map.retain(|key, value| (*key b || *value 2));println!(After retain: {:?}, map);// After retain: {b: 2, c: 3} }append将另一个BTreeMap的键值对追加到当前BTreeMap中 use std::collections::BTreeMap;fn main() {let mut map1 BTreeMap::from([(a, 1),(b, 2),]);let mut map2 BTreeMap::from([(c, 3),(d, 4),]);map1.append(mut map2);println!(After append: {:?}, map1);// After append: {a: 1, b: 2, c: 3, d: 4} }range返回一个迭代器遍历BTreeMap中满足给定范围条件的键值对 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),(c, 3),(d, 4),]);for (key, value) in map.range(b..) {println!(In range: {} - {}, key, value);}// In range: b - 2// In range: c - 3// In range: d - 4 }range_mut返回一个可变迭代器遍历BTreeMap中满足给定范围条件的键值对并允许修改值 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),(c, 3),(d, 4),]);for (key, value) in map.range_mut(b..) {*value *value * 2;println!(Modified in range: {} - {}, key, value);}// Modified in range: b - 4// Modified in range: c - 6// Modified in range: d - 8 }entry返回一个Entry API可以用于插入或更新键值对 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::new();let entry map.entry(a).or_insert(1);println!(Entry value for a: {}, entry);// Entry value for a: 1 }split_off移除并返回给定键及其对应的值如果键不存在则返回None和一个空BTreeMap into_keys将BTreeMap的键提取为一个可迭代的集合 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);let keys: Vec_ map.into_keys().collect();println!(Keys: {:?}, keys);// Keys: [a, b] }into_values将BTreeMap的值提取为一个可迭代的集合 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);let values: Vec_ map.into_values().collect();println!(Values: {:?}, values);// Values: [1, 2] }iter返回一个迭代器遍历BTreeMap的键值对 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);for (key, value) in map.iter() {println!(Iter: {} - {}, key, value);}// Iter: a - 1// Iter: b - 2 }iter_mut返回一个可变迭代器允许修改BTreeMap的键值对 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);for (key, value) in map.iter_mut() {*value *value * 2;println!(Mut iter: {} - {}, key, value);}// Mut iter: a - 2// Mut iter: b - 4 }keys返回一个迭代器遍历BTreeMap的键 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);for key in map.keys() {println!(Key from keys: {}, key);}// Key from keys: a// Key from keys: b }values返回一个迭代器遍历BTreeMap的值 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);for value in map.values() {println!(Value from values: {}, value);}// Value from values: 1// Value from values: 2 }values_mut返回一个可变迭代器允许修改BTreeMap的值 use std::collections::BTreeMap;fn main() {let mut map BTreeMap::from([(a, 1),(b, 2),]);for value in map.values_mut() {*value *value * 3;println!(Mut value from values_mut: {}, value);}// Mut value from values_mut: 3// Mut value from values_mut: 6 }len返回BTreeMap中键值对的数量 use std::collections::BTreeMap;fn main() {let map BTreeMap::from([(a, 1),(b, 2),]);println!(Length: {}, map.len());// Length: 2 }is_empty判断BTreeMap是否为空 use std::collections::BTreeMap;fn main() {let map: BTreeMapi32, str BTreeMap::new();println!(Is empty: {}, map.is_empty());// Is empty: true }
http://www.hkea.cn/news/14420676/

相关文章:

  • 网站主机和空间建德营销型网站建设
  • 国内免费设计素材网站青海手机网站建设
  • 网站设计参考文献中小企业官网
  • 网站制作怎么办电子商务网站建设考卷
  • cms织梦织梦修改网站源码wordpress建站网页无法运
  • 网站copyright写法常州新北区建设局网站
  • 做商城网站还要服务器嘉兴做网站建设的公司哪家好
  • 婚恋网站制作wordpress addrewriterule
  • 手机访问跳转手机网站wordpress网页手机自适应
  • 建门户网站要多少钱建设部造价工程师考试网站
  • 郑州做网站狼牙电商网站会员体制怎么做
  • 南乐网站建设价格石家庄住房和城乡建设厅网站
  • 网站建设对客户的影响软件开发如何定价
  • 网站建设软件有哪些自适应网站做百度推广
  • 自适应网站功能免费微信点餐小程序
  • 北京网站开发团队知名seo电话
  • 国外优秀摄影作品网站天猫网页版
  • 摄影婚纱官网2017织梦网站怎么做seo
  • 建网站备案好麻烦做宣传图片用什么网站
  • 东莞网站建设公司注册网易企业邮箱手机登录
  • 如何修改上线网站wordpress去掉购物车
  • 做竞价网站服务器多少钱线上平面设计课程
  • 唐山网站建设模板公司网站建设团队
  • 手机网站制作套餐wordpress函数调用函数
  • 英文网站域名注册郑州安卓app开发
  • 大学生作业做网站绍兴网站制作
  • wordpress建站 云打印肇庆网站推广排名
  • 做网站一定要有空间吗网站建设kpi考核
  • 企业建设网站应该一般多少钱东营在建项目
  • 制作网站river小程序代理商有哪些