Java基础之:集合——Map
Map与Collection并列存在。用于保存具有映射关系的数据键值对:Key—Value
在Map中Key与Value都可以存放任何类型的数据。
Key是用Set来存放的,不允许重复,允许有null但只能有一个。常用String类作为Map的“键”(key)
Value是用Collection存放的,可以是Set也可以是List,所以当Value使用List时允许重复,且可以有多个null值。
key与value之间存在单向一对一关系,即通过指定key总能找到唯一的确定的一个value。
因为key是用Set存放的,而value是通过key进行查找返回的。所以Map是无序的。
底层结构图:
虚线为实现关系,实线为继承关系。
put:添加
get:根据键获取值
size:获取元素个数
isEmpty:判断个数是否为0
containsKey:查找键是否存在
remove:根据键删除映射关系
clear:清除
需要使用的方法:
containsKey():查找键是否存在
keySet():获取所有的键,返回一个Set集合
entrySet():获取所有关系,返回一个Set集合
values():获取所有的值,返回一个Collection集合
两种遍历方式(每种方式又分别有迭代器和增强for两种):
遍历键再通过键取出对应的值
直接遍历整个键值对k-v
说明:直接遍历键值对所使用的动态绑定机制的思路和"OOP——内部类"最后的思考题相同。
使用HashMap添加3个员工对象,要求
键:员工id
值:员工对象
并遍历显示工资>18000的员工
(遍历方式最少两种)
员工类:姓名、工资、员工id
程序输出:
1001--Employee [name=小范, id=1001, salary=22000.0]
1003--Employee [name=小雨, id=1003, salary=23000.0]
=============================================