Map集合遍历的三种方式

来源:互联网 发布:读mpacc的体验 知乎 编辑:程序博客网 时间:2024/06/05 22:31

1、将Map集合中所有的键取出存入set集合。

      set<K>   keySet()     -----返回所有的key对象的set集合,再通过get方法获取键对应的值

2、values()   ----获取所有的值 。    Collection<V> values()    不能获取到key对象

3、Map.Entry()对象

     set<Map.Entry<k,v>>  entrySet()  -----将map集合中的键值映射关系打包成一个对象,Map.Entry对象通过Map.Entry对象的getKey,getValue获取其键和值

代码如下:

package cn.sql.map;


import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;


public class mapbianli {


public static void main(String[] args) {

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

map.put(1, "aaa");
map.put(2, "bbb");
map.put(3, "ccc");
map.put(4, "ddd");

System.out.println(map);
//获取方法:第一种:使用keySet()
Set<Integer> keySet = map.keySet();

Iterator<Integer> it = keySet.iterator();

while(it.hasNext()){
Integer next = it.next();
Integer key = next;
String value = map.get(key);
System.out.println("key="+key+" value="+value);
}
//第二种:通过values获取所有值,不能获取到key对象
Collection<String> vs = map.values();
Iterator<String> it2 = vs.iterator();
while(it2.hasNext()){
String value=it2.next();
System.out.println("values="+value);
}

//第三种方式:Map.Entry对象

Set<Map.Entry<Integer, String>> es = map.entrySet();
Iterator<Map.Entry<Integer, String>> it3 = es.iterator();
while(it3.hasNext()){
Map.Entry<Integer, String> en = it3.next();
Integer key = en.getKey();
String value = en.getValue();
System.out.println("key="+key+" value="+value);
}

}


}



    

原创粉丝点击