美文网首页
28 Map集合

28 Map集合

作者: ca8519be679b | 来源:发表于2020-03-11 13:12 被阅读0次

Map集合和之前Collection集合不同,前者是双列,k,v建立对应关系,且k唯一,而Collection是单列类型

位与java.util下需要导包,k,v可以类型相同也可以不同

其有很多实现类如HashMap哈希表,我们之前学过HashSet基于其实现,其单列实现相当于只有k,没有v

查询速度快

1

Map常见方法 

  Vput(K key, V value)           通过给定的key设置value,返回key替换的值,如果之前不存在返回null。

2

代码如上,可以看到Map,HashMap的toString方法也是被重写了的

V remove(Object key)  依据key铲除键值对,返回value值,如果key不存在,返回null

3

代码如上

V  get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回null。

4

 boolean containsKey(Object key)如果此映射包含指定键的映射关系,则返回true。

5

当然还有values()返回Collection集合,size()返回键值对数量

Map遍历

方法keySet(),返回Map的存储键的Set集合,可以通过遍历其获得所有的键

6

如上,通过foreach遍历set

7

使用迭代器,这里迭代器是Object返回,需要强转

Entry键值对 对象

是Map类内部接口,用于记录键值的映射,其getKey(),getValue()分别获得键值对的键和值,通过map对象的entrySet()返回其键值对的Set集合

8

如上,这里记得Entry和map一样,接口需要传入2个列的泛型

如果我们使用自定义的类实例作为Key,记得重写hashCode和equals方法,保证实例的不重复哈希

LinkedHashMap

其查看文档可以知道,是哈希表加上链表实现,维护可预知的迭代顺序

9

还是老套路,先使用hashmap,可以发现无序

10

使用LinkedHashMap可以发现顺序和放入一致


Hashtable类

是Map接口的实现类,key不可以为null,其是同步的(等同于单线程),但是同步会比较慢

而之前将的HashMap是异步的,线程不安全,但是会比较快,可以使用唯一null作为key

两者的共同点就是底层都是哈希表

jdk1.2以后和vector一样被先进的Collection集合取代了(使用HashMap和ArrayList)

11

如上,HashMap允许使用空作为Key,但是Hashtable不可以,运行时报空指针异常,而且注意table是小写

Demo统计用户输入字符串字符次数

12

如上


JDK9 of方法

13

是JDK9给List,Set,Map添加的静态方法,可以一次添加多个元素,不能用于接口实现类,集合创建后不能改变,不可add,put,remove.  set和map不能有重复的元素(map指键)

13

如上,我们使用List,注意格式,编译未报错,但是运行时提示不支持额外操作

14

如上,我们可以看到运行时报错,Set是不能存储重复元素的


Debug idea

intelliJ idea编辑器的debug放在这里也是很突兀,但是不调整位置了,根据视频位置调整吧,

15 16

我们逐行执行for循环,可以看到每次的数据值

相关文章

  • 28 Map集合

    Map集合和之前Collection集合不同,前者是双列,k,v建立对应关系,且k唯一,而Collection是单...

  • 2019-01-03

    Map集合 Map集合 1.1Map集合概念 Map集合是一种存放关系对象的对象的双列集合。 1.2Map集合的常...

  • 2019-01-13

    基于Map集合重点整理 Map集合 1.1Map集合概念 Map集合是一种存放关系对象的对象的双列集合。 1.2M...

  • Map集合Map<Integer,String> m

    01Map集合概述 A:Map集合概述:我们通过查看Map接口描述,发现Map接口下的集合与Collection接...

  • Map接口

    01Map集合概述 A:Map集合概述:我们通过查看Map接口描述,发现Map接口下的集合与Collection接...

  • 2020-06-30【Map】

    Map概述 Map集合的基本功能 Map集合的获取功能 Map集合的遍历 练习 Collections类 斗地主

  • List集合和Map集合和Set集合

    小鹏求职日记第一阶段——梳理自身能力——1-28 List集合和Map集合和Set集合 Java主要有三大类集合,...

  • day04 【Map】

    day04 【Map】 主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使...

  • Java - Part 6

    一、Map集合Map集合和Collection集合不一样,Map集合是双列集合,以键值对的形式存在,键不能重复,值...

  • 集合详解

    Iterator:迭代器,它是Java集合的顶层接口(不包括 map 系列的集合,Map接口 是 map 系列集合...

网友评论

      本文标题:28 Map集合

      本文链接:https://www.haomeiwen.com/subject/jcyudhtx.html