集合详解(三)----Map的两种遍历方式

    Map是以键值对(key-value)的方式来存取值的,那么该怎么把Map中的值取出来的,有两种方式,往下看。先定义一个Map,向里面存放一些数据。

HashMap m=new HashMap();
m.put("a","aa");
m.put("b","bb");
m.put("c","cc");
m.put("d","dd");

    

第一种取值方式


    取得键(key)的集合,然后遍历键(key)的集合,先得到键(key),然后通过键(key)得到值(value)。

//获取键的集合
Set set=m.keySet();
//遍历键的集合
for(Iterator iter=set.iterator(); iter.hasNext();)
{
    //得到键
    String key=(String)iter.next();
    //通过键得到值
    String value=(String)m.get(key);

    System.out.println(value);
}

    
    

    

第二种取值方式


    Map在存储值得时候,把键值对都存在了Map.Entry<K,V>中,只要把Entry取出来,那么相应的键(key)值(value)就取到了。

Set set=m.entrySet();

for(Iterator iter=set.iterator(); iter.hasNext();)
{
    //获得相应的Entry
    Map.Entry map=(Map.Entry)iter.next();
    //从Entry中取得key
    String key=(String)map.getKey();
    //从Entry中取得value
    String value=(String)map.getValue();

    System.out.println(key+":"+value);
}

    使用哪种方式都可以,但是使用一种方式的时候,另一种方式也必须得会,知道其原理。
    

上一篇:集合详解(二)----ArrayList源代码剖析(JDK1.7)


下一篇:OutOfMemoryError异常----Java堆溢出