Map集合——双列集合

双列集合<k, v>

Map:

 Map 和 HashMap是无序的;

LinkedHashMap是有序的;

HashMap & LinkedHashMap:

 put方法:

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

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

remove方法:

异常:

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

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

get方法:

结果:

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

containsKey方法:

结果:

遍历Map集合两种方式:

第一种,键找值方式:

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

使用增强for遍历:

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

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

 

 

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

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

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

使用增强for遍历:

原文地址:https://www.cnblogs.com/wmqiang/p/10662554.html