HashMap的代码实现-垂直遍历1

无序
1、containsKeys
是否包含键
2、containsValues
是否包含值
3、put(Keys,Values)
将键=值加入到HashMap中
4、get(Keys)=Values
获取键对应的值
可以和put连用,表示在索引值为多少的值中加入什么。
5、KeySet()
输入键
6、Values()
输出值。

数据结构:

Map(int,List<int>)


复习一下上一篇文章的知识,比如为什么会有4这个方法。下面代码实践可以说明数据结构:Map(int,List<int>)实际应用。

如下图:

498d1321396043cea7104165657dc047.png

我们发现无论ArrayList定义多少值,总是加入的是括号。

那么怎么对Map里面的值填入数值呢?

有两种办法,

1、定义3个List对象,然后add数值,再加入Map,但是这个要定义3个对象,较为繁琐

2、加入3个List空对象,可以不用加1,2,3。因为即使是有数值,加进去仍然是空括号。然后get(键)得到值:列表,再把数值加入列表中,

我会单独讲一下,需要重置数列还是需要保存数列,这里用到的是每次都保存数列,即每次开始都是保存上一次循环值的数列。

5720853e58ac4520bdd7a49d879bb8ab.png

注意这里的get不是索引值,因为Map是无序的,同理Set也是无序的,所以靠着键对应唯一值。但是List,Stack,Deque是按照索引值。

4d228cd2edb144fcb797b53f68d95f9c.png

在这里我们可以发现通过,取得键得到值:列表,再通过add加入值,这里又要发散性思维,上图是8,88,888。

可以自己控制顺序。例如二叉树的锯齿型层序遍历,奇数层从左往右,偶数层从右往左。

如下图:

6e09f1bf421d46848d5c9aa08f5f6b1c.png

65be6a6b8d704ed698b88bda45b77d9e.png

可以控制加入顺序。、

比如下列代码

5b066345cb6f43ef81ea98fac2dd44a6.png

通过keySet()再加入数值,错误×。

通过keySet()contains某某值,正确√。如下图:

407fa9fa1d7d489e883eca4446593bab.png

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值