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);
}
}
}