您的位置:首页 > 其它

map 几种遍历方法

2015-01-05 14:31 309 查看
ublic static void main(String[] args) {

Map<String, String> map = new HashMap<String, String>();

        map.put("无邪", 21);

        map.put("胖子", 22);

        map.put("张起灵", 23);

        map.put("三叔", 24);

//第一种:普遍使用,二次取值

System.out.println("通过Map.keySet遍历key和value:");

for (String key : map.keySet()) {

System.out.println("key= "+ key + " and value= " + map.get(key));

}
//第二种

        Iterator it = map.keySet().iterator();

        Object key;

        Object value;

        while(it.hasNext()){

            key = it.next();

            value = map.get(key);

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

        }

//第三种

System.out.println("通过Map.entrySet使用iterator遍历key和value:");

Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry<String, String> entry = it.next();

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

int size = map.size();

Set keysSet = map.keySet();

Iterator iterator = keysSet.iterator();

while(iterator.hasNext()) {

Object key = iterator.next();//key

Object value = map.get(key);//value

}

推荐,尤其是容量大时

System.out.println("通过Map.entrySet遍历key和value");

for (Map.Entry<String, String> entry : map.entrySet()) {

System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());

}

//第四种

System.out.println("通过Map.values()遍历所有的value,但不能遍历key");

  for (String v : map.values()) {

   System.out.println("value= " + v);

  }

}

//灵活性很强

 public static void workByEntry(Map<String, Student> map) {

        Set<Map.Entry<String, Student>> set = map.entrySet();

        for (Iterator<Map.Entry<String, Student>> it = set.iterator(); it.hasNext();) {

            Map.Entry<String, Student> entry = (Map.Entry<String, Student>) it.next();

            System.out.println(entry.getKey() + "--->" + entry.getValue());

        }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: