rust(47)-key-value哈希-HashMap,BTreeMap,HashSet,BTreeSet
.一、
1、映射hash中键唯一
2、HashMap key可哈希,BTreeMapkey 可排序
3、HashMap无序,BTreeMap有序
二、
1、集合键(元素)唯一
2、HashSet元素可哈希,BTreeSet可排序
3、HashSet无序,BTreeSet有序
4、实质为HashMap<K,()>、BTreeMap<K,()>,键为元素,值为空元组。
Finished dev [unoptimized + debuginfo] target(s) in 0.05sRunning `F:\learn\rustlearn\learn48\target\debug\learn48.exe`
{3: 30, 2: 20, 9: 90, 8: 80, 5: 50, 4: 40, 6: 60, 7: 70, 1: 10}
{10: 100, 11: 110, 12: 120, 13: 130, 14: 140, 15: 150, 16: 160, 17: 170, 18: 180, 19: 190}
hamp 包括 8=>Some(80)
bamp 包括 18=>Some(180)
{"hset1", "hset2"}
{"bset1", "bset2"}------------------
(program exited with code: 0)请按任意键继续. . .
use std::collections::BTreeMap;
use std::collections::HashMap;
use std::collections::HashSet;
use std::collections::BTreeSet;
fn main() {let mut hmap=HashMap::new();let mut bmap=BTreeMap::new(); for i in 1..10{hmap.insert(i,i*10); }for i in 10..20{bmap.insert(i,i*10); }println!("{:?}",hmap); println!("{:?}",bmap); if hmap.contains_key(&8){println!("hamp 包括 {}=>{:?}",8,hmap.get(&8));}if hmap.contains_key(&18){println!("hamp 包括 {}=>{:?}",18,bmap.get(&18));} if bmap.contains_key(&8){println!("bamp 包括 {}=>{:?}",8,hmap.get(&8));}if bmap.contains_key(&18){println!("bamp 包括 {}=>{:?}",18,bmap.get(&18));} let mut bset=BTreeSet::new(); let mut hset=HashSet::new();hset.insert("hset1");hset.insert("hset2"); bset.insert("bset1");bset.insert("bset2"); println!("{:?}",hset); println!("{:?}",bset);
}
rust(47)-key-value哈希-HashMap,BTreeMap,HashSet,BTreeSet相关推荐
- 给定一组查找关键字(19,14,23,1,65,20,84,27,55,11,10,79) 哈希函数为:H(key)=key % 13, 哈希表长为m=15,设每个记录的查找概率相等。【MOOC】
目 录 题 目①[关键字(19, 14, 23, 1, 65, 20, 84, 27, 55, 11, 10, 79)] 解法一(线性探测再散列) 解法二(链地址法) 题 目②[关键字(19, 1 ...
- HashMap和HashSet原理及底层实现
HashMap底层用哈希算法实现,下面看一下哈希算表的整体概括: 当map.put("key","values");的时候,底层是这样的: static fin ...
- HashMap HashTable HashSet区别剖析
HashMap.HashSet.HashTable之间的区别是Java程序员的一个常见面试题目,在此仅以此博客记录,并深入源代码进行分析: 在分析之前,先将其区别列于下面 1:HashSet底层采用的 ...
- Java笔记(七)HashMap和HashSet
HashMap和HashSet 一)HashMap 1.Map接口 interface Map<K,V> {int size();//查看Map中的键值对个数boolean isEmpty ...
- HashMap和HashSet的内部工作机制
java 的比较基础的功底就是对于java的集合类底层实现和原理的掌握!!!(不可轻视) -----------------------------------------------hashmap存 ...
- HashMap底层实现原理/HashMap与HashTable区别/HashMap与HashSet区别
Hash算法 Hash,一般翻译做"散列",也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算法,变换成固定长度的 ...
- 图解HashMap和HashSet的内部工作机制
转载自 图解HashMap和HashSet的内部工作机制 HashMap 和 HashSet 内部是如何工作的?散列函数(hashing function)是什么? HashMap 不仅是一个常用的数 ...
- HashMap与HashSet
日升时奋斗,日落时自省 目录 一.HashMap与HashSet 1.哈希表 1.1概念 1.2常见的哈希函数: 1.3哈希-冲突 1.4冲突-减少(避免) 1.5冲突概率降低-设计哈希函数 1.6哈 ...
- HashMap和HashSet的区别
转自:http://www.importnew.com/6931.html HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试 ...
最新文章
- vivado----fpga硬件调试 (七)----数据导出并用MATLAB读取
- 乱码问题引申 python 中string和unicode
- python gevent缺点_python的flask框架结合gevent性能反而大幅度下降?
- Java子类继承(二):隐藏成员变量和方法重写的理解
- matlab数学实验课件4,数学实验4_数学实验_doc_大学课件预览_高等教育资讯网
- ASP.NET MVC 实现二级域名(泛域名)
- LaTeX对公式字体加粗
- C++学习之路 | PTA乙级—— 1037 在霍格沃茨找零钱 (20 分)(精简)
- web测试与app测试异同
- (六)基于霍夫变换的直线和圆检测
- Hadoop笔记整理(二):HDFS
- Raki的统计学习方法笔记0xB(11)章:条件随机场
- 电子海图制作中坐标转换的应用与实现
- 基于CompactRIO的嵌入式车载电性能测试系统研发
- opencv (C语言) 系列一:各函数基本应用及图片反色
- ThinkPad X230 后没有了Break 以及 Pause键,网工们囧了?
- Artificial Intelligence-人工神经网络
- Smart-api开源api接口管理平台
- 数据分析实例-获取某宝评论数据做词云图可视化
- 去掉CAJViewer广告的方法
热门文章
- 如何迁移完整SQL数据库到另外一台服务器
- 定位 - MapKit-自定义大头针
- Promise的源码实现(完美符合Promise/A+规范)
- [Android]第四次作业
- suoi46 最大和和 (线段树)
- eclipse序列化生成serialVersionUID
- stand up meeting 12/25/2015 weekend 12/26/2015~12/27/2015
- sqlserver 实现数据库全文检索
- python 批量增加文件前缀_Excel VBA工作薄 7.5批量增加工作表前缀/后缀 工作表区分更方便...
- 激光SLAM--标准数据集