Map和Set

1. Map(字典)

        Map 对象保存键值对,并且能够记住键的原始插入顺序。任何值(对象或者原始值)都可以作为一个键或一个值。

        说明:Map是一个接口类,该类没有继承自Collection,该类中存储的是<K,V>结构的键值对,并且K一定是唯一的不 能重复。

                                  

注意:
  1. Map是一个接口,不能直接实例化对象,如果要实例化对象只能实例化其实现类TreeMap或者HashMap。
  2. Map中存放键值对的Key是唯一的,value是可以重复的
  3. TreeMap中插入键值对时,key不能为空,否则就会抛NullPointerException异常value可以为空。但 是HashMap的keyvalue都可以为空。
  4. Map中的Key可以全部分离出来,存储到Set来进行访问(因为Key不能重复)。
  5. Map中的value可以全部分离出来,存储在Collection的任何一个子集合中(value可能有重复)。
  6. Map中键值对的Key不能直接修改,value可以修改,如果要修改key,只能先将该key删除掉,然后再来进行重新插入。

1.1 Map底层结构

        HashMap:基于哈希表实现。

        TreeMap:基于红黑树实现,红黑树的本质就是一棵二叉查找树.

Map<Character,Integer> hashMap = new HashMap<>();
Map<Character,Integer> treeMap = new TreeMap<>();

2.Set(集合)

        Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

  简而言之,Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key。

         

注意:
  1.  Set是继承自Collection的一个接口类
  2.  Set中只存储了key,并且要求key一定要唯一
  3.   TreeSet的底层是使用Map来实现的,其使用keyObject的一个默认对象作为键值对插入到Map中的
  4.   Set最大的功能就是对集合中的元素进行去重
  5.   实现Set接口的常用类有TreeSetHashSet,还有一个LinkedHashSetLinkedHashSet是在HashSet的基础 上维护了一个双向链表来记录元素的插入次序。
  6.   Set中的Key不能修改,如果要修改,先将原来的删除掉,然后再重新插入
  7.   TreeSet中不能插入nullkeyHashSet可以。

2.1 Set底层结构

3.Map和Set区别

        除了Set是继承自Collection的接口类,Set中只存储了Key,我们这里为大家总结一下它们的其他区别要点:

  • Map和Set查找速度都非常快,时间复杂度为O(1),而数组查找的时间复杂度为O(n)。
  • Map对象初始化的值为一个二维数组,Set对象初始化的值为一维数组。
  • Map对象和Set对象都不允许键重复(可以将Set对象的键想象成值)。
  • Map对象的键是不能改的,但是值能改,Set对象只能通过迭代器来更改值
爆浆曲奇饼~
关注 关注
  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
js的mapset详解
丑小鸭变黑天鹅的博客
12-13 3399
js的mapset详解一、map二、set 一、map Map是一组键值对的结构,具有极快的查找速度。 举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array: var names = ['Michael', 'Bob', 'Tracy']; var scores = [95, 75, 85]; 给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,Array越长,耗时越长。 如果用Map实现,只需要一个“名字”-“成绩”的对
STL库:mapset
修行的凡人的博客
11-14 3579
基于著名书籍和自我学习得出的mapset精华知识
js MapSet的区别
weixin_45209120的博客
08-29 1945
SetMap的用法
【数据结构】MapSet
拼命阿紫冲冲冲!
03-12 1577
本期主要讲解: 1、MapSet的概念 2、MapSet 使用的模型 3、Map 3.1 Map.Entry 简介 3.2 Map的常用方法 4、Set 4.1 SetMap 的区别 4.2 Set 的常用方法
Java 数据结构】MapSet
书生-w的博客
04-26 1万+
Map和Sat是一种专门用来进行搜索的容器或者数据结构,其具体效率与具体的实例化子类有关. 模型: 模型分为两种分别为:纯 K 模型,如: 快速查找某个名字在不在通讯录中 K–Value模型:,如: 统计文件中每个单词出现的次数,统计结果是每个单词都有与其对应的次数: 注:Map中存储的就是key-value的键值对,Set中只存储了Key。
MapSet的区别
web18224617243的博客
03-27 3143
MapSet的区别 -----------------------------------------分割线-----------------------------   mapset都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序,如果需要重复则使用multiset,要说区别的话,存储的东西不一样,应用场景不一样,支持的操作也不一样,很多不同。   mapset支持快速查找和删除
Java 数据结构】MapSet的介绍
程序猿教你打篮球的博客
01-14 5795
本期主要讲解: 1、MapSet 的概念 2、模型 3、Map 的学习 3.1 关于 Map.Entry 3.2 Map 的常用方法 4、Set 的常用方法 5、 MapSet 的注意点
数据结构 --- 【MapSet】详解
Lucky_mzc的博客
03-22 1522
本章目标 掌握 Map/Set 及实际实现类 HashMap/TreeMap/HashSet/TreeSet 的使用 掌握 TreeMap 和 TreeSet 背后的数据结构搜索树的原理和简单实现 掌握 HashMap 和 HashSet 背后的数据结构哈希表的原理和简单实现 MapSet 的概念 MapSet 是一种专门用来进行搜索的关联式容器或者数据结构; 关联式容是用来存储数据的,与序列式容器不同的是,其里面存储的是<key, value>结构的键值对,在数.
MapSet 的特点和区别
热门推荐
m0_61700036的博客
01-20 1万+
目录 一、简述 二、Map 三、Set 四、SetMap区别 一、简述 SetMap 主要的应用场景在于 数据重组 和 数据储存。 Set 是一种叫做 集合 的数据结构,Map 是一种叫做 字典 的数据结构。 集合(Set): ES6 新增的一种新的数据结构,类似于数组,成员唯一(内部元素没有重复的值)。且使用键对数据排序即顺序存储。 Set 本身是一种构造函数,用来生成 Set 数据结构。 Set 对象允许你储存任何类型的唯一值,无论是原始值或者是对象引用。 二、Ma...
mapset的模拟实现
06-06
封装红黑树,模拟SLT源码实现,封装出mapset
mapset的异同
09-28
mapset的异同mapset的异同mapset的异同mapset的异同
一文搞懂ES6中的MapSet
10-16
主要介绍了ES6中的MapSet,本文给大家提到了map和object的区别 ,需要的朋友可以参考下
ES6中MapSet
01-08
而本文将对ES6新增数据结构集MapSet进行了解. MapMap顾名思义,地图本就有 一 一 对应的特点,就像字典一样. Map结构是键值的组合,它的key不止限于字符串类型 , key可以为任何类型.[如下所示:] var m = new ...
简单的项目部署脚本(转载)
u010230019的博客
06-09 630
有些项目团队喜欢使用docker启动java服务,那么我们同样可以将上述脚本稍做改造,来实现基于shell+docker的简单项目部署能力。可以将核心节点的错误或者失败内容通过webhook发送到对应的告警平台,比如钉钉、飞书机器人等。把~/.ssh/id_rsa.pub内容添加到远程仓库的ssh秘钥中。执行start.sh脚本打包部署。start.sh脚本内容。
Java——简单图书管理系统
m0_74100417的博客
06-09 1332
数据类型变量iffor数组方法类和对象封装继承多态抽象类和接口今天就是把上述知识点全部都用起来 图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理系统图书管理
修改菜品——后端Java
weixin_53717695的博客
06-09 433
修改菜品——后端Java
Javascript)AI数字人mp4转canvas播放并去除背景绿幕
最新发布
lx_nhs的博客
06-12 427
去除前:去除后: 3、可能会出现的报错 (1)视频路径跨域问题:解决:vue开启代理
jsmapset
09-07
JavaScript中的MapSet是两种常用的数据结构。Map是一种键值对的集合,其中每个键只能对应一个值。可以使用`new Map()`来初始化一个空的Map,也可以使用二维数组来初始化一个Map。可以使用`map.set(key, value)`来...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • Java的JDBC编程—连接Mysql数据库 3045
  • 线程-Thread类及常见方法 2191
  • JVM的工作流程 2093
  • 数据结构—LinkedList与链表 1388
  • 网络原理(网络协议初识) 1322

最新评论

  • 网络原理(网络协议初识)

    在下小吉.: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,期待博主持续带来更多好文

  • volatile关键字

    阿熊不会编程: 优质好文,博主的文章细节很到位,兼顾实用性和可操作性,感谢博主的分享,文章思路清晰,图文并茂,详略得当,三连支持,期待博主持续输出好文!!!

  • Leetcode 139.单词拆分

    愚润求学: 感谢博主分享,期待博主下一篇优质好文表情包

大家在看

  • 智能识别技术在旧物回收系统中的应用
  • 年薪 80W!大厂掀起 AIGC 人才大战,普通打工人应该怎么做?| 极客时间
  • 洛谷P8807 [蓝桥杯 2022 国 C] 取模 3
  • css-02
  • go,无法安装 gorilla websocket 66

最新文章

  • 网络原理(网络协议初识)
  • TCP流套接字编程
  • UDP数据报套接字编程
2024年7篇
2023年16篇

目录

目录

评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爆浆曲奇饼~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司大芬建设网站多少钱坪地如何制作网站公司成都百度seo报价自贡企业网站设计西安seo网站推广价格云浮网络广告推广推荐吉林关键词按天计费哪家好蚌埠至尊标王价格深圳建网站推荐宿迁网络广告推广松岗网页设计推荐临汾网站建设巢湖网站优化按天收费多少钱保山网站改版东莞百度网站优化哪家好济南外贸网站建设多少钱九江网站优化按天扣费多少钱武威关键词按天扣费公司白山建设网站哪家好醴陵设计公司网站多少钱钦州网站优化按天计费多少钱崇左seo优化哪家好益阳品牌网站设计价格荷坳网站定制报价绥化设计网站多少钱榆林网站设计模板推荐大连seo网站推广哪家好南澳建网站公司上海网站推广系统哪家好喀什百姓网标王推广哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化