首页 > 其他分享 >HashMap的七大遍历方式

HashMap的七大遍历方式

时间:2024-01-10 11:33:45浏览次数:26  
标签:遍历 HashMap 七大 System println put out hashMap

HashMap遍历

HashMap的遍历总共可以分为以下四类

  • Iterator遍历
  • For Each遍历
  • Lambda表达式遍历
  • Stream API遍历

Iterator迭代器遍历

Iterator结合entrySet遍历

// Iterator 结合entry遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        Iterator<Map.Entry<Integer, String>> iterator = hashMap.entrySet().iterator();
       while (iterator.hasNext()) {
           Map.Entry<Integer, String> entry = iterator.next();
           System.out.println(entry.getKey());
           System.out.println(entry.getValue());
       }

Iterator结合keySet遍历

// Iterator 结合keyset遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        Iterator<Integer> iterator = hashMap.keySet().iterator();
        while (iterator.hasNext()) {
            int key = iterator.next();
            System.out.println(hashMap.get(key));
        }

For Each遍历

For Each结合entrySet遍历

 // for 结合entrySet遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        for (Map.Entry<Integer, String> entry : hashMap.entrySet()) {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());

        }

For Each结合keySet遍历

// for 结合keySet遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        for (Integer key : hashMap.keySet()) {
            System.out.println(key);
            System.out.println(hashMap.get(key));

        }

Lambda表达式遍历

// Lambda表达式遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        hashMap.forEach((key, value) -> {
            System.out.println(key);
            System.out.println(value);
        });

Stream API遍历

Stream API单线程遍历

// Streanms API单线程遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        hashMap.entrySet().stream().forEach((entry) -> {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        });

Stream API多线程遍历

// Streanms API多线程遍历HashMap
        Map<Integer, String> hashMap = new HashMap<>();
        hashMap.put(1, "a");
        hashMap.put(2, "b");
        hashMap.put(3, "c");
        System.out.println(hashMap);
        hashMap.entrySet().parallelStream().forEach((entry) -> {
            System.out.println(entry.getKey());
            System.out.println(entry.getValue());
        });

参考:

标签:遍历,HashMap,七大,System,println,put,out,hashMap
From: https://www.cnblogs.com/sheayu/p/17956107

相关文章

  • 复旦大学2023--2024学年第一学期(23级)高等代数I期末考试第七大题解答
    七、(10分) 设$A$为$n\,(n>1)$阶非异阵,$B$是$A$的逆阵. 任取$r$个指标$1\leqi_1<i_2<\cdots<i_r\leqn$, 剩余的指标记为$1\leqi_{r+1}<\cdots<i_n\leqn$.证明:$$|A|\cdotB\begin{pmatrix} i_1&i_2&\cdots&i_r\\ i_1&i_2&......
  • 【面向对象设计的七大原则】
    (文章目录)前言面向对象设计(OOD)是现代软件工程中的核心,其核心思想在于通过抽象化实体的特征和行为来模拟现实世界,这种方法不仅仅是一种编程范式,更是一种设计哲学。在编程领域,它帮助开发者通过类和对象的组织和交互,来构建出模块化、灵活且易于维护的软件系统。而面向对象设计的七......
  • 2024年需要关注的七大网络安全威胁
    新颖创新技术的兴起和迅速采用已极大地改变了各行各业的全球网络安全和合规格局,比如生成式人工智能、无代码应用程序、自动化和物联网等新技术。网络犯罪分子正转而采用新的技术、工具和软件来发动攻击,并造成更大的破坏。因此,《2023年网络安全风险投资网络犯罪报告》预测,与网络犯罪......
  • VBA遍历控件,并在指定的位置赋值
    Sub遍历控件并赋值()DimwsAsWorksheetDimshpAsShapeDimctrlNameAsStringDimctrlValueAsIntegerSetws=ThisWorkbook.Worksheets(1)'表示第一个工作表'设置控件名和对应位置的数组DimcontrolArray()AsVariant......
  • 【揭秘】如何使用LinkedHashMap来实现一个LUR缓存?
    LRU(LeastRecentlyUsed)缓存是一种常用的缓存淘汰策略,用于在有限的缓存空间中存储数据。其基本思想是:如果数据最近被访问过,那么在未来它被访问的概率也更高。因此,LRU缓存会保留最近访问过的数据,并在缓存满时淘汰最久未使用的数据定义LRU(LeastRecentlyUsed)缓存是一种常用的......
  • 代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和,113.路径总和ii,106.
    一、513.找树左下角的值题目链接:LeetCode513.找树左下角的值学习前:思路:层序遍历。采用递归和迭代两种方式递归:定义最大深度和目标值两个成员变量,方法参数是结点和当前结点的深度;返回类型为void;终止条件为结点为空;单次循环内容为判断该节点是否符合目标要求,且分别传入左子......
  • 二叉树的四种遍历-前序、中序、后序、层序
    目录一、易懂的形象理解1、先序遍历2、中序遍历3、后序遍历4、层序遍历二、真正理解三种遍历一、易懂的形象理解其实从名字就可以很好的理解这三种遍历,我在第二点时候说,但是估计能翻到我的文的同学们之前肯定看过好多类似的了,那咱们换个思路~先用我想的一种简单易懂的形象思维......
  • 二叉树遍历(C语言版)
    二叉树遍历先序递归int*res;voidpreorder(structTreeNode*root,int*returnSize){if(root==NULL)return;//根左右res[(*returnSize)++]=root->val;preorder(root->left,returnSize);preorder(root->right,returnSize);}int*pre......
  • 代码随想录算法训练营第12天 | 树的遍历
    (本合集全部为Go语言实现)相关文章链接:递归遍历迭代遍历统一迭代法相关视频链接:Leetcode94状态:实现过程中的难点:迭代法的模拟过程比较难想个人写法递归方式funcinorderTraversal(root*TreeNode)[]int{varres[]intinorderTraversal0(root,&res)return......
  • 12.28数组遍历以及动态初始化,数组求最值,基础方法1
    fori用法:数组名.fori直接依次遍历数组中所有元素数组的动态初始化:定义没有元素的数组(静态初始化即已知元素)   方法调用:方法名(); ......