在现实生活中,每个人都有唯一的身份证号,通过身份证号可以查询到这个人的信息,这二者是一对一的关系,在应用程序中,如果想存储这种具有对应关系的数据则需要使用jdk中提供的Map接口。
Map接口是一个双列集合,它的每一个元素都包含着一个键对象key和值对象Value,键和值对象之间存在一种对应关系,称为映射。从Map集合中访问元素时,只要指定key ,就能找到对应的Value。
Map集合常用的方法表
void put(Object key, Object value)
将指定的值与映射中的值关联
Object get(Object key)
返回键所映射的值
boolean containsKey(Object key)
判断映射包含指定键的映射关系
boolean containsValue(Object value)
判断映射将一个或多个键映射到指定值
Set keySet()
返回此映射中包含的键的Set视图
Collection value()
返回此映射中包含的值的Collection视图
Set<Map.Entry<K,V>>entrySet()
返回此映射中包含的映射关系的Set视图
HashMap集合
HashMap集合是Map接口的一个实现类,它用于存储键值映射关系,但必须保证不会出现重复的键。
import java.util.*;
publuc class test{
public static void main (String[] args){
Map map = new HashMap();
map.put(“1”,“tom”);
…
System.out.println(map.get(1));
}
}
如果我们存储相同的值,那么新添加的值会覆盖原来的值,这也验证了Map中的键必须是唯一的,不能重复,如果存储了相同的键,就会覆盖。
Set keySet =map.keySet();
//获取键的集合
Iterator it = keySet.iterator();//迭代键的集合
while(it.hasNext()){
Object key = it.next();
Object value=map.get(key);//获取每个键对应值
System.out.println(key+value);
}
HashMap集合迭代出来的元素的顺序和存入的顺序是不一致的,如果想保持一致,可以使用JAVA中提供的LinkHashMap类,它是HashMap的子类,与LinkList一样,它也使用双向链表来维护内部元素的关系,使得Map元素迭代的顺序与存入的顺序一致。
Map map = new LinkedHashMap();