Map集合没有继承Collection接口,其提供的是key到value的映射,Map中不能包含相同的key值,每个key只能映射一个相同的value。key值还决定了存储对象在映射中的存储位置.但不是key对象本身决定的,而是通过散列技术进行处理,可产生一个散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的起始位置,从而确定存储对象在映射中的存储位置.Map集合包括Map接口以及Map接口所实现的类.

HashMap按照哈希算法来存取元素的键对象
TreeMap会对键对象进行排序,默认是升序排序

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;


public class MapTest {

/**
* @param args
*/
public static void main(String[] args) {
//创建一个HashMap
Map map=new HashMap();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
//创建一个迭代器
Iterator iterator=map.keySet().iterator();
while(iterator.hasNext()){
Object key=iterator.next();
Object value=map.get(key);
System.out.println("the key is:"+key+",the value is:"+value);
}
System.out.println("*******************");
//创建一个TreeMap
Map<String,String> map2=new TreeMap<String,String>();
map2.put("b", "2");
map2.put("a", "1");
map2.put("c", "3");
Set<Map.Entry<String,String>> set=map2.entrySet();
Iterator<Map.Entry<String, String>> iterator2=set.iterator();
while(iterator2.hasNext()){
Map.Entry<String, String> entry=iterator2.next();
System.out.println(entry.getKey()+" "+entry.getValue());
}

}

}

 

从控制台输出:

the key is:b,the value is:2
the key is:c,the value is:3
the key is:a,the value is:1
*******************
a 1
b 2
c 3