Java难点 | Map集合两种遍历方式
【摘要】 Map集合的遍历既重要也是比较难理解,本文将对Map的两种遍历方式展开详细的介绍,通过举例、代码实战的方式,让你彻底掌握Map集合的两种遍历方式。
Map集合两种遍历方式【重点】
键找值方式
Map集合的第一种遍历方式:通过键找值的方式
Map集合中的方法:
Set<k> keySet(): 返回此映射中包含的键的 Set视图。
实现步骤:
1.使用Map集合中的方法keySet(),把Map集合所有的key取出来,存储到一个Set集合中。
2.遍历set集合,获取Map集合中的每一个key。
3.通过Map集合中的方法get(key),通过key找到value。
举例
public static void main(String[] args) {
//创建Map集合对象
Map<String,Integer> map=new HashMap<>();
map.put("丽颖",168);
map.put("音",165);
map.put("玲",178);
//1.使用keySet方法,把map集合所有的key取出来,存储到set集合中
Set<String> set = map.keySet();
//2.遍历set集合,获取map集合中每一个key
//使用迭代器遍历
Iterator<String> it = set.iterator();
while (it.hasNext()){
String next = it.next(); //获取map集合中每一个key
//3. 通过Map集合中的get方法,通过key找到value
Integer integer = map.get(next);
System.out.println(next+"="+integer);
}
System.out.println("=================");
//使用增强for遍历
for (String s : set) {
//3. 通过Map集合中的get方法,通过key找到value
Integer integer = map.get(s);
System.out.println(s+"="+integer);
}
//简化增强for遍历
// Set<String> set = map.keySet(); map.keySet()就相当于set集合
for (String s : map.keySet()) {
//3. 通过Map集合中的get方法,通过key找到value
Integer integer = map.get(s);
System.out.println(s+"="+integer);
}
}
键值对方式
Map集合遍历的第二种方式:使用Entry对象遍历。这种方式效率比较高,因为获取的key和value都是直接从Entry对象中获取的属性值,这种方式比较适合于大数据量。
Entry键值对对象:
Map集合中的方法:
Set<Map.Entry<K,V >> entrySet()返回此映射中包含的映射关系的 Set 视图。
实现步骤:
1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个Set集合中
2.谝历Set集合,获取每一个Entry对象
3.使用Entry对象中的方法getKey()和getValue()获取键与值
举例
public static void main(String[] args) {
//创建Map集合对象
Map<String,Integer> map=new HashMap<>();
map.put("丽颖",168);
map.put("音",165);
map.put("玲",178);
//1.使用Map集合中的方法entrySet(),把Map集合中多个Entry对象取出来,存储到一个set集合中
Set<Map.Entry<String, Integer>> set = map.entrySet();
//2.遍历set集合
//使用迭代器遍历
Iterator<Map.Entry<String, Integer>> it = set.iterator();
while (it.hasNext()){
Map.Entry<String, Integer> next = it.next();
//3.使用Entry对象中的方法getKey(),getValue()获取键和值
String key = next.getKey();
Integer value = next.getValue();
System.out.println(key+"="+value);
}
System.out.println("================");
//使用增强for遍历
for (Map.Entry<String, Integer> aa : set) {
//3.使用Entry对象中的方法getKey(),getValue()获取键和值
String key = aa.getKey();
Integer value = aa.getValue();
System.out.println(key+"="+value);
}
}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)