双列集合<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遍历: