2、键不可重复,值重复性:
由上图可得:键不重复,要是重复的话就会输出两个a, 可以输出同样的值。
3、key键可以为空。
二、Map集合遍历的方式:
1、通过遍历键来得到值:
Map集合与前两个集合不一样,Map集合是以键值对的形式去存储元素的。
2、通过entry方式遍历
《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》
【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享
Map集合
三、常用实现类HashMap(以统计字符串中的字母出现的次数为例)
现在我为大家解释一下解答这一题的思路:
1、先把字符串变为字符数组
2、加入到map集合中,遍历
3、判断:如果还没有该元素就加一,如果有的话在原基础就在增加一个。
四、泛型讲解:
泛型有两个作用:
1、将运行时的异常转换为编译期的错误(通俗点讲一般的代码在编译时不会显示错误,只有在运行是控制台报错,而定义好泛型之后就会直接在编译时报错,可以一目了然错误并及时改正,可以节省时间。)
2、提高代码的一个健壮性(也就使代码更健康)
下面我将用两张图片来阐述泛型的作用:我新定义一个对象,不是按照对应的泛型来定义。
(只有在运行时报错,给大家看一下错误)
Exception in thread “main” java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
at Map.Demo4.main(Demo4.java:24)
错误的意思是无法将string类型转换为int类型)
接下来我将把泛型定义好:
大家请看我将泛型定义好之后,直接在编译时报错,一目了然。
五、集合框架工具包
1>、Collections
1、排序:
直接调用Collections方法中的sort方法可以直接排序,在其中还要写一个新的比较器的接口。(图中时升序,降序就反过来。)
2、toarray方法:
s.toArray();
2>Arrays: