集合(5)—Map之HashMap()
定义
.Map接口提供了一中种映射关系,其中的元素是以键值对(key- value)的形式存储 ,能够实现根据键(key)快速查找值(value)
.键(key)和值(value)可以是任意类型的变量
.Map中的键值对以Entry类型的对象实例形式存在的
.key值不可重复,value值可以重复
.每个键最多只能映射到一个值
.Map接口提供了分别返回key值集合、value值集合以及Entry(键值对)集合的方法
.Map支持泛型,形式如:Map< K,V > K表示key值类型,V表value值类
实现类
HashMap是Map的一个重要实现类,也是最常用的基于哈希表实现,
HashMap中的Entry对象是无序排列的
key值和value值都可以为null,但hashMap只能有一个key值为null的映射(key值不可重复)
使用方法
- 声明变量
Map< String,Student > students = new HashMap< String,Student >();//使用了泛型
get()方法
get(Object key)返回指定键所映射的值;如果此映射不包含该键的映射关系,则返回 null,
就是说集合中有ID这个键值对就返回value,否则返回nullkeyset()方法
//通过keyset方法,返回Map中所有键的set集合
Set<String> keyset = students.keySet();//此时keyset中包含是所有的键
//遍历keyset,取得每一个键,再调用get方法取得每个键对应的value
for (String stu : keyset) {
Student st = students.get(stu);
if(st != null){
System.out.println("学生:"+st.name);
}
}