java中map集合的两种取出方式keySet和entrySet

时间:2022-03-17 19:37:00
package day03;
import java.util.*;
class MapDemo {
public static void main(String[] args) {
Map<String,String> map=new HashMap<String,String>();
map.put("01","zhangsan01");
map.put("02","zhangsan02");
map.put("03","zhangsan03");
map.put("04","zhangsan04");

第一种取出方式keySet:

map集合本身具备的keySet方法可以将map集合中的键返回到一个set集合中,在通过set集合遍历所有的键来获取map集合中所对应的值

Set<String> set=map.keySet();
Iterator<String> it=set.iterator();
while(it.hasNext()){
String key=it.next();
String value=map.get(key);
System.out.println("key "+key+" value "+value);
}

第二种取出方式entrySet:

map集合本身具备的entrySet方法可以将map集合中键值对的关系取出来,并返回到一个set集合中,这个关系的类型就是Map.Entry,其实Entry是map接口中的一个内部接口,并且是static修饰的所以可以用map点来调用,hashmap在实现map接口的同时,在内部也定义了一个内部类来实现了Entry接口,并实现了entry中的方法,所以可以通过Map.Entry的子类对象实现后的方法getKey和getValue来获取关系中的键和值

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

}


java中map集合的两种取出方式keySet和entrySet