IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Map集合常用的三种遍历方式 -> 正文阅读

[数据结构与算法]Map集合常用的三种遍历方式

  1. Map集合使用的是Key - Value的形式存储元素,也就是键值对的形式。
  2. Map集合内部的实现分别是HashMapTreeMap,也就是哈希表二叉树这两种数据结构。
  3. List集合和Set集合都是继承自Collection类,而Map集合就是自己的父类。前者可以直接通过Iterator迭代器进行迭代,而后者就必须要转换成Set集合再使用Iterator迭代器进行内部元素的迭代

Map集合有效的遍历出内部的元素,就必须转换成Set集合再使用Iterator迭代器进行迭代。

方式一

使用Map接口自带的内部接口 Entry<K , V> 进行过度方式的遍历
public static interface Map.Entry<K,?V>
Map集合内部元素的映射条目(键值对)。 Map.entrySet方法返回地图的集合视图,其元素属于此类。

 private static void mapItetator(){
        Map<String,Integer> mapCollect = new HashMap<>();
        mapCollect.put("zhang",11);
        mapCollect.put("san",1212);
        // entrySet()将Map集合转换成Set集合,然后使用Set集合的迭代器进行元素的迭代。
        Iterator<Map.Entry<String,Integer>> iterator = mapCollect.entrySet().iterator();
        //迭代器的使用
        while(iterator.hasNext()){
        //取出内部的元素
            Map.Entry<String,Integer> item = iterator.next();
            System.out.println(item.getKey() + "--->" + item.getValue());
        }
        List<String> result = new ArrayList<>();
        result.toArray();
    }

结果

san—>1212
zhang—>11

方式二

Map集合.keySet() 将Key映射成Set集合,Map集合.values() 将Value映射成Collection集合



    private static void mapItetator(){
        Map<String,Integer> mapCollect = new HashMap<>();
        mapCollect.put("zhang",11);
        mapCollect.put("san",1212);
		// 将Key转换成Set集合进行遍历输出
        for(String key : mapCollect.keySet()) System.out.println(key);
		// 将Value转换成Collection集合进行遍历输出
        for(Integer value : mapCollect.values()) System.out.println(value);
    }

结果

san
zhang
1212
11

方式三

通过指定的Key,再利用Map集合的get () 方法得到指定的Value

   private static void mapItetator(){
        Map<String,Integer> mapCollect = new HashMap<>();
        mapCollect.put("zhang",11);
        mapCollect.put("san",1212);
 		// 将Key传换成Set集合,遍历并得到Key映射的Value
        for(String key : mapCollect.keySet()){
            System.out.println(key + "--->" + mapCollect.get(key));
        }

结果

san—>1212
zhang—>11

总结

再上述三种方式中,采用的Map实现类是Hash Map,哈希表也称为散列表,存储数据是由一个Hash函数进行定位的,所以元素输出的顺序就会导致和存储时的位置不一样,如果想要一样,就可以使用LinkedHashMap实现类去实现Map接口。
遍历Map集合最常用的方式就是方式一,将Map集合转换成Set集合,然后通过Iterator进行遍历输出。

在这里插入图片描述

今天是大年初一,大家新年快乐,2021年已经成为了过去,这一年的努力在我们的眼里都看得十分清晰,是的,很累。但是我们无法避免社会的残酷,我们需要拼命地去追赶哪些被称为“天才”的奋斗者。2022年又是一个新的开始,所以请让我们继续奋斗、继续加油。

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-03 01:23:43  更:2022-02-03 01:24:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:38:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码