一、Set的内部是基于Map,其值存储在k中,由于key是唯一的,故Set内的值具有不可重复性

由于TreeSet中含有SortSet,故其值的存储是有序的(大多基于Tree的都是有序的)

二、Map接口下的子类

a:这三个类都是Map接口下的常用子类,Hashtable基于哈希表实现,TreeMap基于红黑树实现
HashMap基于哈希表+红黑树实现(jdk1.8之后,jdk1.8基于哈希表)

b:HashMap允许(K,V)为null
Hashtable不允许(K,V)为null(任意一个为空都不行)(基于哈希表,数组下标当然不能为空,NPE)
TreeMap只允许V为null    (基于比较器,为空产生NPE)

c:HashMap与TreeMap采用异步处理,线程不安全,性能较高  Hashtable使用synchronized同步方法,线程安全,性能较低(锁的是整各hash表,读读互斥)

三、HashMap与ConcurrentHashMap是没有关系的,不要被名字搞错了

Set与List的前辈是Collection,Map自成一派相关推荐

  1. Java Review - 集合框架=Collection+Map

    文章目录 概述 容器 = Collection + Map Collection Set TreeSet HashSet LinkedHashSet List ArrayList Vector Lin ...

  2. 【Java 集合】Java 集合主要脉络 ( Collection | Map | List | Set )

    文章目录 I 集合脉络 II List 接口简介 III Set 接口简介 IV Map 接口简介 V Collection 接口定义的方法 I 集合脉络 集合主要脉络 : Java 集合大的分类为两 ...

  3. 容器(Collection/Map)、容器中的设计模式

    1.容器 主要包括: Collection:存储着对象的集合 Map:存储着键值对(两个对象) 的映射表. 1.1 Collection Set List Queue 1.1.1 Set TreeSe ...

  4. Java—一篇读懂java集合(Collection/Map)及Lambda表达式

    集合简介   在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象.   Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...

  5. 集合框架(Collection)——Map和例题

    目录 1.Map 2.案例 案例一 案例二 案例三 1.Map 1. Map   1.1 特点:无序.以键值对的形式添加元素,键不能重复,值可以重复            它没有继承Collectio ...

  6. Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug

    欢迎访问我的个人网站:https://bengtian.club 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度 ...

  7. Map集合中value()方法与keySet()、entrySet()区别 ——转载

    为什么80%的码农都做不了架构师?>>>    在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet(): 将Map中所有的键存入 ...

  8. 1.5 Map集合:HashMap 和TreeMap 类

    Map集合,HashMap,TreeMap Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键(key)对象和一个值(value)对象.用于保存具有映射关系的数据 ...

  9. Java中Map集合类的用法(HashMap)

    Map键值对,键(key)一般存储索引,值(value)一般存储对象. Map的特性即「键-值」(Key-Value)匹配 java.util.HashMap HashMap在内部使用哈希(Hash) ...

最新文章

  1. MAC终端密钥登录自动输入密码
  2. 前20个关于FLEX技术、源码、实例、技巧的网站.
  3. 石墨烯区块链(4)API
  4. 从性能参数到业务大数据,浅谈直播CDN服务监控
  5. iis6扩展php_Web服务器IIS6的PHP5.2.5最佳配置方法
  6. Binary Formats in JavaScript: Base64, Deflate, and UTF8
  7. [libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画
  8. 负载均衡工具 haproxy 集群安装部署完整流程
  9. GX works2 中的块的创建与使用方法
  10. C++ 类的成员函数指针 ( function/bind )
  11. Python Flask Web 第四课 —— 模板引擎Jinja2
  12. mysql服务的注册,启动、停止、注销。 [delphi代码实现]
  13. Ubuntu22.04安装Arduino IDE及Arduino UNO(使用CH341驱动)调试方法
  14. ISIS协议(华为面试)
  15. 【DeepLearning】深入理解dropout正则化
  16. 帧内预测——initAdiPattern
  17. QTP数据驱动和关键字驱动
  18. 强化学习8-时序差分控制离线算法Q-Learning
  19. arduino 土壤温湿度传感器_Arduino 与 土壤湿度传感器 测量土壤湿度自动浇水提醒...
  20. 服务器的cd驱动器怎么修改盘符,windows 2016 修改驱动器盘符

热门文章

  1. sequence与sequencer
  2. java链表奇数倒序偶数顺序_将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变。...
  3. 快捷指令|支付宝合集|安卓支付宝shell快捷指令大全
  4. 【转帖】计算机编程语言
  5. #304 – 为没有文本标题的控件定义Access 键(Defining an Access Key That Gives Focus to a Different Control)
  6. V部落博客管理平台开源啦! Vue+SpringBoot强强联合! 1
  7. Springboot轻松整合Mybatis
  8. 【3小时学会C语言】横向对比/纵向剖析,轻松学习C语言
  9. h0215.闭区间问题
  10. 一个SQL tvp+.net的例子