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);
        }
    }
相关文章
|
3天前
|
安全 Java
如何在Java中处理并发集合
如何在Java中处理并发集合
|
2天前
|
存储 安全 Java
Java集合框架详解
Java集合框架详解
|
3天前
|
前端开发
Request获取Map集合,提取username后面的值方法,post和get提取集合的方法
Request获取Map集合,提取username后面的值方法,post和get提取集合的方法
|
3天前
|
存储 Java 容器
【JAVA集合篇 - LinkedList】你真的了解LinkedList吗?
【JAVA集合篇 - LinkedList】你真的了解LinkedList吗?
6 0
|
3天前
|
Java
【JAVA集合篇 - ArrayList】你真的了解ArrayList吗?
【JAVA集合篇 - ArrayList】你真的了解ArrayList吗?
4 0
|
4天前
|
存储 API Kotlin
Kotlin中的Map集合
Kotlin中的Map集合
5 0
|
4天前
|
并行计算 Java API
Java List集合取交集的八种不同实现方式
Java List集合取交集的八种不同实现方式
|
4天前
|
存储 安全 算法
|
6天前
|
缓存 Java 测试技术
探讨Java中遍历Map集合的最快方式
探讨Java中遍历Map集合的最快方式
8 1
|
20天前
|
存储 缓存 Java
Java遍历Map集合的方法
在Java中,遍历Map集合主要有四种方式:1) 使用`keySet()`遍历keys并用`get()`获取values;2) 使用`entrySet()`直接遍历键值对,效率较高;3) 通过`Iterator`遍历,适合在遍历中删除元素;4) Java 8及以上版本可用`forEach`和Lambda表达式,简洁易读。`entrySet()`通常性能最佳,而遍历方式的选择应考虑代码可读性和数据量。
29 0