Set与List的前辈是Collection,Map自成一派
一、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自成一派相关推荐
- Java Review - 集合框架=Collection+Map
文章目录 概述 容器 = Collection + Map Collection Set TreeSet HashSet LinkedHashSet List ArrayList Vector Lin ...
- 【Java 集合】Java 集合主要脉络 ( Collection | Map | List | Set )
文章目录 I 集合脉络 II List 接口简介 III Set 接口简介 IV Map 接口简介 V Collection 接口定义的方法 I 集合脉络 集合主要脉络 : Java 集合大的分类为两 ...
- 容器(Collection/Map)、容器中的设计模式
1.容器 主要包括: Collection:存储着对象的集合 Map:存储着键值对(两个对象) 的映射表. 1.1 Collection Set List Queue 1.1.1 Set TreeSe ...
- Java—一篇读懂java集合(Collection/Map)及Lambda表达式
集合简介 在集合类之前,我们使用数组存储,数组既可以存储基本数据类型的值,也可以存储对象(对象的引用变量),但是集合只能存储对象. Java集合类似于一种容器,将同类型的对象(实际为对象引用) ...
- 集合框架(Collection)——Map和例题
目录 1.Map 2.案例 案例一 案例二 案例三 1.Map 1. Map 1.1 特点:无序.以键值对的形式添加元素,键不能重复,值可以重复 它没有继承Collectio ...
- Java自学第6期——Collection、Map、迭代器、泛型、可变参数、集合工具类、集合数据结构、Debug
欢迎访问我的个人网站:https://bengtian.club 集合:集合是java中提供的一种容器,可以用来存储多个数据. 集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度 ...
- Map集合中value()方法与keySet()、entrySet()区别 ——转载
为什么80%的码农都做不了架构师?>>> 在Map集合中 values():方法是获取集合中的所有的值----没有键,没有对应关系, KeySet(): 将Map中所有的键存入 ...
- 1.5 Map集合:HashMap 和TreeMap 类
Map集合,HashMap,TreeMap Map 是一种键-值对(key-value)集合,Map 集合中的每一个元素都包含一个键(key)对象和一个值(value)对象.用于保存具有映射关系的数据 ...
- Java中Map集合类的用法(HashMap)
Map键值对,键(key)一般存储索引,值(value)一般存储对象. Map的特性即「键-值」(Key-Value)匹配 java.util.HashMap HashMap在内部使用哈希(Hash) ...
最新文章
- MAC终端密钥登录自动输入密码
- 前20个关于FLEX技术、源码、实例、技巧的网站.
- 石墨烯区块链(4)API
- 从性能参数到业务大数据,浅谈直播CDN服务监控
- iis6扩展php_Web服务器IIS6的PHP5.2.5最佳配置方法
- Binary Formats in JavaScript: Base64, Deflate, and UTF8
- [libGDX游戏开发教程]使用libGDX进行游戏开发(12)-Action动画
- 负载均衡工具 haproxy 集群安装部署完整流程
- GX works2 中的块的创建与使用方法
- C++ 类的成员函数指针 ( function/bind )
- Python Flask Web 第四课 —— 模板引擎Jinja2
- mysql服务的注册,启动、停止、注销。 [delphi代码实现]
- Ubuntu22.04安装Arduino IDE及Arduino UNO(使用CH341驱动)调试方法
- ISIS协议(华为面试)
- 【DeepLearning】深入理解dropout正则化
- 帧内预测——initAdiPattern
- QTP数据驱动和关键字驱动
- 强化学习8-时序差分控制离线算法Q-Learning
- arduino 土壤温湿度传感器_Arduino 与 土壤湿度传感器 测量土壤湿度自动浇水提醒...
- 服务器的cd驱动器怎么修改盘符,windows 2016 修改驱动器盘符
热门文章
- sequence与sequencer
- java链表奇数倒序偶数顺序_将链表中的所有元素为奇数的节点移到元素为偶数节点的前面,并保证奇数之间顺序不变,偶数之间顺序不变。...
- 快捷指令|支付宝合集|安卓支付宝shell快捷指令大全
- 【转帖】计算机编程语言
- #304 – 为没有文本标题的控件定义Access 键(Defining an Access Key That Gives Focus to a Different Control)
- V部落博客管理平台开源啦! Vue+SpringBoot强强联合! 1
- Springboot轻松整合Mybatis
- 【3小时学会C语言】横向对比/纵向剖析,轻松学习C语言
- h0215.闭区间问题
- 一个SQL tvp+.net的例子