Map集合——双列集合

时间:2023-11-27 17:55:56

双列集合<k, v>

Map:

Map集合——双列集合

Map 和 HashMap是无序的;

LinkedHashMap是有序的;

HashMap & LinkedHashMap:

Map集合——双列集合

put方法:

Map集合——双列集合

Map集合——双列集合

Map集合——双列集合

其中,可以多态创建Map对象,能直接输出Map中元素(key=value组成一个元素),说明Map重写了Object类的toString方法;

jdk里包含的类都是重写了toString方法的,即打印对象名为元素内容不是地址值;自定义的类要手动重写toString方法;

remove方法:

Map集合——双列集合

Map集合——双列集合

异常:

Map集合——双列集合

其中,用int类型接收会报错,null没办法转换成int基本数据类型,但是可以转换成它的包装类 Integer;

 自动拆箱,即基本类型自动转换;
 封装类可以接收null转换;

get方法:

Map集合——双列集合

Map集合——双列集合

结果:

Map集合——双列集合

其中,用基本数据类型int接收返回值null,运行报错,这使用其包装类Integer接收是ok的;

containsKey方法:

Map集合——双列集合

Map集合——双列集合

结果:

Map集合——双列集合

遍历Map集合两种方式:

第一种,键找值方式:

Map集合——双列集合

Map集合——双列集合

Map集合——双列集合

其中,迭代器Iterator创建对象是集合Collections的iterator()方法直接创建,Set接口是继承的Collections接口的;

使用增强for遍历:

Map集合——双列集合

其中,可以一步到位,使用匿名Set集合对象,直接进行遍历;

第二种遍历方式,使用Map接口中的一个内部接口Entry:

Map集合——双列集合

Map集合——双列集合

Map集合——双列集合

其中,使用多态创建Map集合;

使用外部类点内部类的方式访问Map接口的Entry对象;

迭代器的泛型跟着它的集合走;

使用增强for遍历:

Map集合——双列集合

Map集合——双列集合