前言:

Map与前面讲到的List和Set并不是同一级别

List和Set存储的是单值,而Map存储的是一个个的键值对

List是列表,获取数据可以使用get获取,

而Set中的HashSet是无序存储,且不能存储重复值,没有get方法,只能通过foreach遍历

Set的子类有HashSet和TreeSet,它们的实现数据结构分别是Map中的子类 HashMap和TreeMap

Set由于有一个特性:不能存储相同的数据,而HashMap中的键也有一个特性,键不能重复,于是

HashSet利用了HashMap键的特性,将HashMap的值设置为统一的值,相当于只使用了HashMap的键去实现了HashSet

Map

Map存储的是一个个的键值对 数据

Map集合的键 不能重复

将键映射到值的对象。Map不能包含重复的键;每个键最多可以映射一个值

查看API文档

关注一个方法:找到所有的键的值

获取Map中的所有的值

values()方法,返回值是一个单值存储的Collection

存储的方法:存数据怎么会有返回值呢?

在Map中当存储数据时,如果数据的键已经存在了,那么新的值会替代原来的值,并将之前旧的值给替换掉

put方法的解释

remove方法

containsKey():测试映射中是否包含指定键的映射

与上面方法对应的还有:

size()方法

HashMap

对象数组加链表的数据结构,数组的默认初始长度是16

链表和红黑树之间的转化,一个是8,一个是6

源码:

散列因子:0.75

当哈希桶中的数据存储到数组总容量的0.75时,就会进行扩容,变成原来的2倍

KKB:Map、HashMap相关推荐

  1. java treemap 内存_Java中Map、HashMap、LinkedHashMap、TreeMap的区别

    Map: Map是一个接口不能实例化,Map接口主要有两个实现类:HashMap和TreeMap类.其中,HashMap类按哈希算法来存取对象,而TreeMap类可以对键对象进行排序: Map提供了一 ...

  2. java容器类2:Map及HashMap深入解读

    Java的编程过程中经常会和Map打交道,现在我们来一起了解一下Map的底层实现,其中的思想结构对我们平时接口设计和编程也有一定借鉴作用.(以下接口分析都是以jdk1.8源码为参考依据) 1. Map ...

  3. java_进阶:Map、自动装箱拆箱

    Map 将键映射到值的对象.Map不能包含重复的键; 每个键可以映射到最多一个值,一个值可以被多个键所映射 public interface Map<K,V> 1.Map 接口的常用方法 ...

  4. 集合类(collection、List、Set、Map、HashMap、TreeMap、、Properties、泛型类、可变长参数、增强for循环、Collections、数组与链表)

    集合类 0.集合类概述 1.Collection 概念 (1)Collection接口的API (2)Iterator接口(collection集合的遍历) 案例:collection集合存储学生对象 ...

  5. java hashmap api_JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API

    一.Map简述 1.1.简述 public interface Map 类型参数:K - 此映射所维护的键的类型 keyV - 映射值的类型 value该集合提供键--值的映射.key不能重复,一对对 ...

  6. Map、HashMap、TreeMap、Collections工具类

    一.Map 1.概述: 将键映射到值的对象,一个映射不能包含重复的键,每个键最多只能映射到一个值. Map<K,E> map = new HashMap<>();//实例化,使 ...

  7. 最完整的集合概述:集合的概述和集合的继承体系、Collection集合 、List集合、数据结构、LinkedList集合、set-泛型-树、Map、HashMap、可变参数、创建不可变的集合

    二.Collection集合      注意点:  增强for的快捷方式:  三.List集合   指定索引获取元素可以跟普通for结合起来遍历这个集合 四.数据结构: (1)栈 :  (2)队列: ...

  8. Python 深度学习目标检测评价指标 :mAP、Precision、Recall、AP、IOU等

    目标检测评价指标: 准确率 (Accuracy),混淆矩阵 (Confusion Matrix),精确率(Precision),召回率(Recall),平均正确率(AP),mean Average P ...

  9. hadoop学习之:Map、Reduce详解

    Hadoop学习重点主要为HDFS.MapReduce 部分: 接下来重点描述一下MAP与Reduce 的过程. 看了好多资料,如果有错误的地方请大家指出. MAP部分: 下图是官方给予的关于MapR ...

最新文章

  1. 用Python解锁“吃鸡”正确姿势
  2. 用php写shell,php与shell实现多线程的简单例子
  3. 关于FPGA的一些你必须知道的概念
  4. php页面生成耗时分析
  5. 疯子的算法总结(七) 字符串算法之 manacher 算法 O(N)解决回文串
  6. 浅析软件项目管理中十个误区(来自:http://manager.csdn.net/n/20051213/30907.html)
  7. 3D开发-AR技术基础
  8. Python:PyCharm选择性忽略PEP8警告
  9. 在Kibana上查看tomcat日志
  10. java下打包软件--生成exe文件
  11. IIS7安装URLReWrite的妙用
  12. Q 语言初学者系列:(3)Lists 初级
  13. 坚持写博客对我们有什么好处
  14. 基于InfluxDBGrafana的JMeter实时性能测试数据的监控和展示
  15. 第5章-构建Spring Web应用程序
  16. 富爸爸穷爸爸-罗伯特.清崎 pdf下载与思维导图
  17. idea Maven阿里云仓库和阿里spring代理仓库配置
  18. 行业云服务——乐视云点播服务试用体验
  19. 陌陌新版本提升直播位置 究竟想要做什么?
  20. 计算机word2003试题,计算机应用基础Word2003试题新

热门文章

  1. 线程 --- 创建线程的七种方法
  2. Docker基础下(学习笔记)
  3. DOM- 网页特效篇
  4. 微信的软件设计使用思考
  5. python埃及分数式_埃及分数(一)
  6. iPhone怎么设置铃声 iPhone铃声设置详细教程
  7. 输入压缩空间量是分区量吗_都0202年了,对于电脑磁盘的分区、删区、合并区,你还不会?...
  8. 苹果4s忘记id密码怎么办_大哭!iPhone手机ID密码忘记了怎么办?3种方法轻松解决问题...
  9. “派派”的用户病毒营销
  10. 解决重启后 /mnt/hgfs下共享文件夹挂载失效问题