Map—keySet()和entrySet()的使用
一、keySet()
keySet()是Map中的一个方法,作用是把Map中的所有key(键)值都存储到Set集合中。
public static void main(String[] args) {
//创建一个peopleMap,并存储三个人的编号和姓名信息
Map<String, String> peopelMap = new HashMap<>();
peopelMap.put("01","Tom");
peopelMap.put("02","Mary");
peopelMap.put("03","Sam");
//把peopleMap中的所有key值都存储到Set<String>集合中
Set<String> keySet = peopelMap.keySet();
//迭代器遍历取值,并输出
Iterator<String> it = keySet.iterator();
while (it.hasNext()) {
String key = it.next();
String value = peopelMap.get(key);
System.out.println("编号:" + key + ",姓名:" + value);
}
}
二、entrySet()
entrySet()也是通过Map进行调用,作用是把Map集合中的映射关系取出(这个关系就是Map.Entry类型)。
对比:keySet()只返回了Map的key键,value值需要自己手动通过key键来获取;而entrySet()直接把key键和value值一并返回;
运行效率::entrySet() > keySet()
public static void main(String[] args) {
//创建一个foodsMap,存储食物信息
Map<String, String> foodsMap = new HashMap<>();
foodsMap.put("001","milk");
foodsMap.put("002","banana");
foodsMap.put("003","beef");
//通过entrySet()方法将map集合中的映射关系取出(这个关系就是Map.Entry类型)
Set<Map.Entry<String, String>> entrySet = foodsMap.entrySet();
Iterator<Map.Entry<String, String>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> sm = iterator.next();
String key = sm.getKey();
String value = sm.getValue();
System.out.println("key:" + key + ",value:" + value);
}
}