天天看点

Java基础之:集合——Map

Java基础之:集合——Map

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是无序的。

底层结构图:

Java基础之:集合——Map

虚线为实现关系,实线为继承关系。

Java基础之:集合——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]

=============================================