首页 > 其他分享 >使用`forEach`方法前后的代码逐步简化过程

使用`forEach`方法前后的代码逐步简化过程

时间:2024-05-14 09:41:17浏览次数:13  
标签:map HashMap 代码 value 简化 forEach key put

简化前的完整循环代码

首先,我们使用传统的for-each循环遍历HashMap

import java.util.HashMap;
import java.util.Map;

public class ForEachExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 传统的 for-each 循环遍历 HashMap
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println("Key: " + key + ", Value: " + value);
        }
    }
}

步骤1: 使用 Lambda 表达式和 forEach 方法

使用forEach方法和Lambda表达式来替代传统的for-each循环:

import java.util.HashMap;
import java.util.Map;

public class ForEachExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 使用 forEach 方法遍历 HashMap
        map.forEach((key, value) -> {
            System.out.println("Key: " + key + ", Value: " + value);
        });
    }
}

步骤2: 简化 Lambda 表达式

如果Lambda表达式的主体只有一行代码,可以去掉大括号和分号:

import java.util.HashMap;
import java.util.Map;

public class ForEachExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 简化后的 forEach 方法遍历 HashMap
        map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
    }
}

步骤3: 使用方法引用(可选)

在某些场景下,可以使用方法引用进一步简化代码。如果我们只是简单地打印键和值,可以定义一个方法来执行打印操作,然后使用方法引用:

import java.util.HashMap;
import java.util.Map;

public class ForEachExample {
    public static void main(String[] args) {
        HashMap<String, Integer> map = new HashMap<>();
        map.put("apple", 1);
        map.put("banana", 2);
        map.put("orange", 3);

        // 使用方法引用进一步简化 forEach
        map.forEach(ForEachExample::printEntry);
    }

    private static void printEntry(String key, Integer value) {
        System.out.println("Key: " + key + ", Value: " + value);
    }
}

总结

通过这些步骤,我们将传统的for-each循环代码逐步简化为使用forEach方法和Lambda表达式,甚至方法引用的代码。简化后的代码更加简洁,易于阅读和维护。

  • 传统的for-each循环

    for (Map.Entry<String, Integer> entry : map.entrySet()) {
        String key = entry.getKey();
        Integer value = entry.getValue();
        System.out.println("Key: " + key + ", Value: " + value);
    }
    
  • 使用Lambda表达式和forEach方法

    map.forEach((key, value) -> {
        System.out.println("Key: " + key + ", Value: " + value);
    });
    
  • 简化Lambda表达式

    map.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
    
  • 使用方法引用

    map.forEach(ForEachExample::printEntry);
    

每一步的简化使代码更为简洁和易读。

标签:map,HashMap,代码,value,简化,forEach,key,put
From: https://www.cnblogs.com/zxingduo/p/18190608

相关文章

  • 马尔可夫转换MSVAR模型预测资产收益率时间序列可视化分析|附数据代码
    原文链接:https://tecdat.cn/?p=36166原文出处:拓端数据部落公众号在现代金融市场中,资产收益率序列的预测一直是投资者和金融机构关注的焦点。资产收益率的波动不仅反映了市场的风险水平,也直接影响到投资组合的表现和风险管理策略的制定。然而,金融市场的复杂性和不确定性使得资产......
  • win32下汇编代码结构学习
    通常win32下三种不同的调用模式,不同版本的编译器,对汇编出来的代码都会代理一些差别。__cdecl是默认的方式,采用外平栈。__stdcall,采用内平栈。__fastcall,因为采用2个寄存器传参,所以多于2个参数后也会用外平栈的方式。传入的第一个参数位置在ebp+8,后面依次加4个字节,即第n个参数的......
  • 代码随想录算法训练营第六天 | 242.有效的字母异位词 、349. 两个数组的交集、 202.
    哈希表理论基础建议:大家要了解哈希表的内部实现原理,哈希函数,哈希碰撞,以及常见哈希表的区别,数组,set和map。什么时候想到用哈希法,当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法。这句话很重要,大家在做哈希表题目都要思考这句话。文章讲解:https://program......
  • 使用 Playwright 复用 Cookie:简化自动化测试的高效方法
    前言在进行自动化测试时,有时需要在多个测试用例之间共享相同的会话状态。为了实现这一目标,Playwright提供了一种称为Cookie复用的功能,可以让我们在不同的测试用例之间共享同一组Cookie数据。本文将深入介绍如何使用Playwright复用Cookie,并探讨其使用方法和优势。什么是......
  • QT开发工具QTCreator设置格式美化,代码补全提示
    工欲善其事,必先利其器:下面介绍如何配置格式美化功能(1)先下载:astyle.exe (2)编辑astyle.astylerc点击Apply->OK (3)帮助 重启软件:测试效果 格式化化后: ......
  • 实验四代码审查
    目录一、实验题目:代码审查二、实验目的三、实验内容四、实验要求五、代码自动化格式审查结果截图六、根据审查结果修改代码格式前后对比图(可以截取部分)七、实验中遇到的问题及解决方法八、代码走查表九、有关链接一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环......
  • 使用 Playwright 脚本录制简化自动化测试:完全指南
    前言自动化测试是软件开发中的重要环节,它可以提高测试效率和代码质量。然而,编写自动化测试脚本可能需要花费大量时间和精力。为了简化这一过程,Playwright提供了一个强大的功能,称为脚本录制,它可以帮助开发人员通过交互式操作自动生成测试脚本。本文将深入介绍如何使用Playwrigh......
  • vscode新建html文件并快速生成标准的html代码
    1.打开vscode,点击OpenFolder2.选择目标文件夹,新建一个扩展名为.html的文件:3.在第一行输入!(英文状态下),按tab键,新建成功。界面如下图所示:......
  • 实验四—代码审查
    一、实验题目:代码审查二、实验目的1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容1、IDEA环境和PyCharm环境二选一;IDEA环境(1)预先准备在IDEA环境下实现对输入的n个整数进行......
  • 基于FPGA的贪吃蛇游戏 之代码解析
    基于FPGA的贪吃蛇游戏之代码解析1. 代码结构代码结构包含7格.v文件。  下面依次解析。   2. 代码解析(1) seg_display.v数码管的译码模块是最熟悉,最简单的模块了。这里是共阳极的数码管,用case语句编码即可。从上图可以看到,这个模块被例化了3次,分别驱动3个数码......