黑马程序员技术交流社区

标题: map的迭代方法 [打印本页]

作者: fredlxy    时间: 2014-8-24 11:32
标题: map的迭代方法
方法一:通过keySet这个方法得到一个包含key的集合,
              就可以利用Iterator进行迭代得到key值,最后可以通过Map中的get方法得到Map里面的内容。
import java.util.*;

public class Test {
        public static void main(String[] args) {
                Map<String, String> m = new HashMap<String, String>();
                m.put("零", "Jack");
                m.put("一", "timothy");
                m.put("二", "Kate");
                m.put("三", "Anna");

                System.out.println(m.get("二"));
                Set<String> keys = m.keySet();// 通过keySet这个方法得到一个包含key的集合
                Iterator<String> i = keys.iterator();//当然也可以用增强的for循环
                while (i.hasNext()) {
                        String index = (String) i.next();// 利用Iterator进行迭代得到key值
                        System.out.println(index+":"+m.get(index));// Map中的get方法得到Map里面的内容

                }

        }
}

方法二:通过Map里面的Entry(key-value)来进行迭代,此时要用到Map里的方法
entrySet(),他得到的是包含Entry的Set类型,再通过迭代器得到entry类型,最后可

通过方法getValue()得到Map里面的数据。

import java.util.*;
class Test{
    public static void main(String[] args){
       Map<String,String> map = new HashMap<String,String>();
         map.put("零","0");     
         map.put("一","1");  
         map.put("二","2");  
         map.put("三","3");                        

       Set  entrys = map.entrySet();//得到包含Entry的Set类型     
       Iterator<Map.Entry<String, String>> i = entrys.iterator();//也可以用增强的for循环
       while(i.hasNext())
        {
           Map.Entry entry =i.next();
           System.out.println(entry.getKey().toString()+":"+ entry.getValue());//通过方法getValue()得到Map里面的数据。
        }  
    }   
}

作者: 天黑偷牛    时间: 2014-8-26 10:34
新手吗,看来学的很认真
作者: fredlxy    时间: 2014-9-2 17:54
是的,还得好好加油啊




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2