网站首页 > 技术文章 正文
rust编程语言里的btreemap
和HashMap不同
HashMap的数据顺序是不确定的
当你运行同一段
初始化HashMap的代码
然后打印输出元素的顺序是不同的
btreemap的数据是按键排序好了的
它是基于B树创建出来的
目前支持少量数据创建btreemap
它用线性查询
性能比较高
它实现了ord特性
可以用来比较
取最大最小值
所以按照范围查询数据
效率也高
rust里的btreemap提供了
和HashMap类似一致的方法
可以像HashMap一样
new一个btreemap
然后insert一键值对
还可以用from函数
从数组创建btreemap
想要获取一个数据时
可以用get方法传入键
返回option包装的值
可以用索引的方式
给btreemap传入一个键
会直接得到值
如果键不存在
会报错
所有这种方式取值需先判断
和HashMap类似
可以用entry方法
存入键值对
它也有一些HashMap没有的方法
pop_first可以删除第一个键值对
并返回option包装的这个数据
这个键是最小的
last_key_value返回最后的
最大键的option包装的键值对
last_entry方法返回和上面方法一样
只不过是entry包装键值
pop_last方法删除并返回
最后一个用option包装的元素
append方法可以用来
合并两个btreemap
range方法可以用来
取一段键范围的数据
猜你喜欢
- 2024-11-13 一位安卓程序员入坑Flutter后整理出一份超详细的学习笔记
- 2024-11-13 真正让你明白Hive调优系列3:笛卡尔乘积,小表join大表,Mapjoin
- 2024-11-13 合并Java Stream流让你更方便的对多个集合进行整合操作
- 2024-11-13 Java 8 中那些方便又实用的 Map 函数:让你的代码更简洁高效
- 2024-11-13 北约、俄罗斯、乌克兰地图速记,看一遍过目不忘了
- 2024-11-13 或与腾讯地图合并?搜狗地图App下架
- 2024-11-13 两张图片怎样拼在一起?将两张图片拼在一起的几种方法介绍
- 2024-11-13 普京承认乌东两个“共和国”,战术成功战略失败,恐怕得不偿失
- 2024-11-13 印度独立后,多次在南亚称霸,为何却对斯里兰卡无可奈何
- 2024-11-13 多次采集的横断面数据,可以一次合并出断面图吗?
- 04-263款 .NET 开源的编辑器,包含代码、文本和Markdown编辑功能!
- 04-26Markdown 格式如何转换成 Word?
- 04-26jupyter lab修改默认文件目录
- 04-26一款优秀的微信Markdown编辑神器及私有化部署流程
- 04-26PDF文件转markdown格式软件Marker1.6.1版整合包下载
- 04-26Microsoft MarkItDown:使用Llama库将 Office 文件转换为 Markdown
- 04-26Web Essentials之Markdown和自定义编辑器
- 04-26只要多加这样一句提示词,就能让DeepSeek帮你生成下载各种文档!
- 最近发表
-
- 3款 .NET 开源的编辑器,包含代码、文本和Markdown编辑功能!
- Markdown 格式如何转换成 Word?
- jupyter lab修改默认文件目录
- 一款优秀的微信Markdown编辑神器及私有化部署流程
- PDF文件转markdown格式软件Marker1.6.1版整合包下载
- Microsoft MarkItDown:使用Llama库将 Office 文件转换为 Markdown
- Web Essentials之Markdown和自定义编辑器
- 只要多加这样一句提示词,就能让DeepSeek帮你生成下载各种文档!
- java使用pandoc将markdown转换为word文档
- android上的markdown软件比较
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)