java map与set的区别_java 集合(list,set,map)三者之间的关系和区别

java 集合(list,set,map)三者之间的关系和区别

一:先上一张关系图,让大家看的更明白。

ab549ceddff2d5c7351af65bdadd6d7d.png

备注:其中红色部分为实现,其他地方均为接口。

二:各自的特点。

List 有序,可重复ArrayList优点: 底层数据结构是数组,查询快,增删慢。缺点: 线程不安全,效率高Vector优点: 底层数据结构是数组,查询快,增删慢。缺点: 线程安全,效率低LinkedList优点: 底层数据结构是链表,查询慢,增删快。缺点: 线程不安全,效率高

Set 无序,唯一

HashSet

底层数据结构是哈希表。(无序,唯一)

如何来保证元素唯一性?

1.依赖两个方法:hashCode()和equals()

LinkedHashSet

底层数据结构是链表和哈希表。(FIFO插入有序,唯一)

1.由链表保证元素有序

2.由哈希表保证元素唯一

TreeSet

底层数据结构是红黑树。(唯一,有序)

1. 如何保证元素排序的呢?

自然排序,比较器排序

2.如何保证元素唯一性的呢?

根据比较的返回值是否是0来决定

三:我们怎么来使用。

针对Collection集合我们到底使用谁呢?

唯一吗?

是 > set > 排序吗 ?

是:TreeSet或LinkedHashSet

否:HashSet

否 > list > 要安全吗?

是:vector

否:ArrayList 或 LinkedList

四:Map。

有序:TreeMap

无序:HashMap和HashTable

HashMap

jdk1.7 底层为数组+单链

jdk1.8 底层为数组+单链+红黑树,默认长度为16,为什么是16不是其他的数字呢,只要是2的次幂就可以了。负载因子为0.75,当链表的长度大于8时,转为红黑树。

LinkedList

LinkedList是基于链表的,它是一个双向链表,每个节点维护了一个prev和next指针。同时对于这个链表,维护了first和last指针,first指向第一个元素,last指向最后一个元素。LinkedList是一个无序的链表,按照插入的先后顺序排序,不提供sort方法对内部元素排序。

HashSet

HashSet是基于HashMap来实现的,操作很简单,更像是对HashMap做了一次“封装”,而且只使用了HashMap的key来实现各种特性,而HashMap的value始终都是PRESENT。

HashSet不允许重复(HashMap的key不允许重复,如果出现重复就覆盖),允许null值,非线程安全。

陈芳娇
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
彻底弄懂ES6MapSet
dianzhigan6636的博客
05-20 1545
Map Map对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数Map可以接受一个数组作为参数。 Map和Object的区别 一个Object 的键只能是字符串或者 Symbols,但一个Map 的键可以是任意值。 Map的键值是有序的(FIFO 原则),而添加到对象的键则不是。 Map的键值对个数可以从 size 属性获取,而 Object 的键值对个数...
关联式容器面试题合集
didi1663478999的博客
10-02 839
说说你所知道的容器都有哪些? vector,listmapset,mulimap,muliset等等 mapset区别?使用map有哪些优势? map底层原理,说下红黑树? map的迭代器会失效吗?什么情况下会失效? AVLTree和RBTree的对比,为什么map使用了红黑树?红黑树的优势是什么? AVLTree和RBTree所达到的平衡有什么区别? ...
java如何对Map进行排序
热门推荐
m0_51051154的博客
09-20 2万+
Map排序(按key排序,按value排序) 主要分两种,按键排序、按值排序。 而且,按key排序主要用于TreeMap,而按value排序则对于Map的子类们都适用。 一、按键排序 按Key排序主要用于TreeMap,可以实现按照Key值的大小,在对象插入时直接插入到合适的位置,保持Map的顺序性。 来看TreeMap的构造函数:TreeMap(Comparator<? super K> comparator):构造一个新的、空的树映射,该映射根据给定比较器进行排序。 这里的比较器是key的比
Java Map按键(Key)排序和按值(Value)排序
胥亮的专栏
10-16 1122
Java Map按键(Key)排序和按值(Value)排序   Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value)。 1、按键排序 jdk内置的java.util包下的TreeMap既可满足此类需求,向其构造方法 TreeMap(Comparator comparator)  传入我们自定义的比较器即可
JAVA数据结构之MapSet
达斯米奇的博客
10-30 1179
MapSet的常用方法
JavaList SetMap之间区别_动力节点Java学院整理
08-30
Java集合的主要分为三种类型set集,list列表,map映射,接下来通过本文给大家详细介绍javalistSetMap之间区别,需要的的朋友参考下吧
Java集合SetListMap的遍历方法
09-04
主要介绍了Java集合SetListMap的遍历方法,是非常实用的遍历技巧,需要的朋友可以参考下
javalistsetmap区别
12-22
Set对每个对象只接受一次,并使用自己内部的排序方法(通常,你只关心某个元素是否属于Set,而不关心它的顺序–否则应该使用List)。Map同样对每个元素保存一份,但这是基于”键”的,Map也有内置的排序,因而不关心...
Java(Collection_List_Map_Set).rar_java集合类详解
09-24
Java集合排序及java集合类详解(Collection、ListMapSet)
Java集合定义与用法实例总结【SetListMap
08-27
主要介绍了Java集合定义与用法,结合实例形式总结分析了Java集合SetListMap相关概念、功能、用法及操作注意事项,需要的朋友可以参考下
MapSet的常用方法和简述
m0_67367168的博客
08-25 1206
是一组键值对的结构,用于解决以往不能用对象做为键的问题,具有极快的查找速度。5. mapset都是stl的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关。SetMap类似,也是一组key的集合,但不存储value。4. Set的值是唯一的可以做数组去重,Map由于没有格式限制,可以做数据存储。set只有值,可以认为只有一个数据,并且set元素不可以重复且自动排序。1. Map是键值对,Set是值的集合,当然键和值可以是任何的值;...
java map sort_Map 按值排序 (Map sort by value) – Java | 学步园
weixin_36041020的博客
02-16 1967
按照value排序(倒序),取前N位----------------------------------------------------------------------------------------------------public class RelationSpanSorter {private RelationSpanSorter() {}// testpublic stat...
Java[集合] MapSet
保护小周ღ的博客
04-15 1901
哈喽,大家好~ 我是保护小周ღ,本期为大家带来的是 Java MapSet 集合详细介绍了两个集合的概念及其常用方法,感兴趣的朋友可以来学习一下。更多精彩敬请期待:保护小周ღ *★,°*:.☆( ̄▽ ̄)/$:*.°★* ‘
setmap区别是什么?
祈澈菇凉
11-06 1535
需要根据具体的需求和数据结构特点来选择使用 Set 还是 Map。如果只需要存储唯一值并且不关心顺序,使用 Set;如果需要将值与键关联,并且需要根据键进行查找和操作,使用 Map
MapSetJava详细讲解)看我就够了
qq_46116963的博客
03-23 4665
MapSet 概念: Mapset是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。以前常见的 搜索方式有: 1.直接遍历,时间复杂度为O(N),元素如果比较多效率会非常慢 2.二分查找,时间复杂度为,但搜索前必须要求序列是有序的 上述排序比较适合静态类型的查找,即一般不会对区间进行插入和删除操作了,而现实的查找比如: 1.根据姓名查询考试成绩 2.通讯录,即根据姓名查询联系方式 3.不重复集合,即需...
Java如何对Map进行排序详解(map集合的使用)
owen我的程序
01-19 8533
一、简单介绍Map 在讲解Map排序之前,我们先来稍微了解下mapmap是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其这四者的区别如下(简单介绍): HashMap:我们最常用的Map,它根据key的HashCode 值来存储数据,根据key可以直接获取它的Value,同时它具有很快的访问速度。HashMap最多只允许一条记录的key值为Null(多条会覆盖);允许多条记录的Value为 Null。非同步的。
java 语言mapset区别
m0_73794536的博客
12-10 667
代码java 语言mapset区别
Java·MapSet
xinhang10的博客
06-22 4510
Mapset是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。我们这篇文章就专门对mapset这两个数据结构很重要的容器进行讲解,并附带了习题,便于各位读者阅读。在文章的后面我们还为读者讲解了什么是搜索树和哈希表,并附带了哈希表冲突解决的方法。
setmap区别
最新发布
dxn16638400024的博客
02-25 351
总的来说,SetMap的主要区别在于它们的结构、唯一性、操作、遍历、查找和其他特性。你应该根据你的具体需求来选择使用Set还是Map
详细介绍一下JavaListMapSet 区别
06-12
ListSetMapJava常见的三种集合类型,它们的主要区别如下: 1. List List 是一个有序的集合,可以有重复元素。List 的元素可以通过索引访问,支持添加、删除、修改、遍历等操作。常见的 List 实现类有 ...

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

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

热门文章

  • 怎么用计算机算弧度制,怎么设置计算器 把度数转化为弧度 24001
  • 计算机ip地址未修复连接不了无线网络,本地连接没有有效的ip配置,教您修复本地连接没有有效的ip配置... 6435
  • signature=586b0a0d2ba9c994d5216907dd56a318,arenaofvalor-server/yarn.lock at 9dd8b6876a08210e29d0cac8... 6086
  • 鸿蒙os下载到电脑上,鸿蒙系统pc版下载2.0 5608
  • 步进电机的正反向旋转c语言编程,实现步进电机自动正反转程序怎么写 4957

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 服务器维修天长,台达精密空调服务天长市供电局
  • 濡沫江湖一直显示获取服务器地址,濡沫江湖采集点坐标大全
  • 服务器物理内存总是九十几,服务器物理内存使用率90以上
2021年160篇
2020年22篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

深圳SEO优化公司大鹏网络广告推广公司荆州百度seo多少钱珠海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 网站制作 网站优化