javaSE进阶-Map

javaSE进阶-Map


Map集合概述

  • Interface Map<K,V> K:键的类型; V:值的类型
  • 将键映射到值的对象,不能包含重复的键;每个键可以映射到最多一个值,即通过键找到值
  • 它是一个接口,需要实现类HashMap来实现
  • Hashmap的底层是哈希表:保证元素唯一
  • Map所有的key其实是一个Set集合,保证键的元素唯一,Map所有的value是某种可以存储重复数据的集合,而把key组成的Set中的元素和value组成的某种的集合中的元素一 一对应起来后,就组成了一个Map。

在这里插入图片描述
注意:当插入重复键时,后面的值就会把前面的值覆盖掉

Map集合的基本功能

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

Map集合的获取功能

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

Map集合的遍历

方式1:

  • 获取所有键的集合。用KeySet()方法实现

  • 遍历键的集合,获取到每一个键。用增强for实现

  • 根据键去找值。用get(Object key)方法去实现
    在这里插入图片描述方式二:

  • 获取所有键值对对象的集合

      Set <Map.Entry<K,V> > entrySet():获取所有键值对对象的集合
    
  • 遍历键值对对象的集合,得到每一个键值对对象
    用增强for实现,得到每一个Mapentry

  • 根据键值对对象获取到键和值
    用getKey()得到键
    用getValue得到值

在这里插入图片描述

HahMap集合存储学生对象并遍历

需求:创建一个HashMap集合,键是学号(String),值是学生对象(Student)。存储三个键值对元素,并遍历
在这里插入图片描述

集合嵌套之ArrayList集合存储HashMap元素并遍历

需求:创建一个ArrayList集合,存储三个元素,每一个元素都是HashMap,每一个HashMap的键和值都是String,并遍历
在这里插入图片描述

集合嵌套之HashMap集合存储ArrayList元素并遍历

需求:创建一个HashMap集合,存储三个键值对元素,每一个键值对元素的键是String,值ArrayList,每一个ArrayList的元素是String,并遍历
在这里插入图片描述

统计字符串中每个字符出现的次数

需求:键盘录入一个字符串,要求统计字符串中每个字符串出现的次数

举例:键盘录入"aababcabcdabcde"
在控制台输出:“a(5)b(4)c(3)d(2)e(1)”

思路:

  • 在键盘录入一个字符串

  • 创建一个HashMap集合,键是Character,值是Integer

  • 遍历字符串,得到每一个字符

  • 拿得到的每一个字符作为键到HashMap集合中去找对应的值,看其返回值

      如果返回值是null,说明该字符在HashMap集合中不存在,1作为值存储。
      如果返回值不是null,说明该字符在HashMap集合中存在,就把该值加1,然后重新存储该字符和对应的值
    

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值