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

时间:2022-03-17 19:37:06
/*
map集合中的两种取出方式:
1、Set<k> keySet:将map集合中所有的键存入到Set集合,因为Set具备迭代器。
所有可用迭代方式取出所有的键,再根据get方法,获取每一个键对应的值。

Map集合的取出原理:将Map集合转成Set集合,再通过迭代器取出。

2、 Set<Map.Entry<K, V>> entrySet:将Map集合中的映射关系存入到Set集合中,二这个关系的数据类型就是Map.entry。
Map.Entry 其实Entry也是一个接口,它是Map接口中的一个内部接口。
*/

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapKeySetDemo {
public static void main(String[] args) {
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(20134316, "尚振伟");
map.put(20134314, "牛建伟");
map.put(20134313, "刘中林");
map.put(20134311, "刘 江");
map.put(20134309, "李新鹏");
map.put(20134318, "田成琳");
//先获取map集合的所有键的Set集合,keySet方法
Set<Integer> keySet=map.keySet();
//有了Set集合就可以获取迭代器。
Iterator<Integer> it=keySet.iterator();
while(it.hasNext()){
int key=it.next();
String value=map.get(key);
System.out.println(key+"---"+value);
}
//将Map集合中的映射关系取出,存入到Set集合中。
Set<Map.Entry<Integer,String>> entrySet=map.entrySet();
Iterator<Map.Entry<Integer, String>> it1=entrySet.iterator();
while(it1.hasNext())
{
Map.Entry<Integer, String> me=it1.next();
Integer key=me.getKey();
String value=me.getValue();
System.out.println(key+"==="+value);
}
}
}


结果:

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