Map--01--简介

Map接口

概述

java.util接口 Map<K,V>

  • 双列数据,存储key-value对的数据 —类似于高中的函数:y = f(x)
  • 类型参数: K - 此映射所维护的键的类型V - 映射值的类型。
  • 也叫哈希表、散列表。常用于存 键值对 结构的数据。其中的键不能重复,值可以重复.

在这里插入图片描述
在这里插入图片描述

特点

  • 可以根据键 提取对应的值
  • 键不允许重复,如果重复值会被覆盖
  • 存放的都是无序数据
  • 初始容量是16,默认的加载因子是0.75

在这里插入图片描述

继承结构

在这里插入图片描述
在这里插入图片描述

Map结构的理解:

  • Map中的key:无序的、不可重复的,使用Set存储所有的key —> key所在的类要重写equals()和hashCode()(以HashMap为例)

  • Map中的value:无序的、可重复的,使用Collection存储所有的value —>value所在的类要重写equals()

  • 一个键值对:key-value构成了一个Entry对象。

  • Map中的entry:无序的、不可重复的,使用Set存储所有的entry

HashMap:

  • 作为Map的主要实现类,线程不安全,效率高:能存储null的key和value

HashMap的底层:

  • 数组+链表 (jdk7及以前)
  • 数组+链表+红黑树 (jdk8及以后)

LinkedHashMap:

  • 在原有的HashMap底层结构基础上,添加了一对指针,指向前一个和后一个元素,
  • 保证在遍历map元素时,可以按照添加的顺序实现遍历。
  • 对于频繁的遍历操作,此类执行效率高于HashMap

TreeMap:

  • 保证按照添加的key-value对进行排序,实现排序遍历,此时考虑key的自然排序或定时排序
  • 底层是红黑树

Hashtable:

  • 作为古老的实现类,线程安全的,效率低,
  • 不能null的key和value.

Properties:

  • 常用来处理配置文件,key和value都是string类型.

常用方法

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值