多语言for循环遍历总结
多语言for循环遍历总结
工作中经常需要遍历对象,但不同编程语言之间存在一些细微差别。为了便于比较和参考,这里对一些常用的遍历方法进行了总结。
JAVA
数组遍历
@Test
void ArrayForTest() {String[] array = {"刘备","关羽", "张飞"};// 第一种方式:下标遍历for (int i=0; i<array.length; i++) {System.out.println(array[i]);}// 第二种方式:foreach遍历System.out.println("--------------------");for (String value : array) {System.out.println(value);}// 第三种方式:转成list遍历System.out.println("--------------------");Arrays.asList(array).forEach(e -> System.out.println(e));// 第四种方式:转成流使用stream遍历System.out.println("--------------------");Arrays.stream(array).forEach(System.out::println);
}
列表遍历
@Test
void ListForTest() {List<String> list = Arrays.asList("刘备", "关羽", "张飞");// 第一种方式:下标遍历for (int i=0; i<list.size(); i++) {System.out.println(list.get(i));}// 第二种方式:foreach遍历System.out.println("--------------------");for (String value : list) {System.out.println(value);}// 第三种方式:forEach遍历System.out.println("--------------------");list.forEach(System.out::println);// 第三种方式:stream流遍历System.out.println("--------------------");list.stream().forEach(System.out::println);
}
map遍历
@Test
void mapForTest() {Map<String, Integer> map = new HashMap<>();map.put("刘备",1);map.put("关羽",2);map.put("张飞",3);System.out.println(map.entrySet());// 使用map.entrySet遍历---最常见和最常用的遍历方式for (Map.Entry<String, Integer> entry : map.entrySet()) {String key = entry.getKey();Integer value = entry.getValue();// 处理键值对System.out.println(key+"--"+value);}System.out.println("-------------");// Java 8 的 Lambda 表达式 -----这个感觉很方便,之后在java8环境用这种方式遍历map.forEach((key, value) -> {// 处理键值对System.out.println(key + "--" +value);});System.out.println("-------------");// 遍历 keySet() 或 values()for (String key : map.keySet()) {System.out.print(key + " ");}System.out.println();for (Integer value : map.values()) {// 处理值System.out.print(value + " ");}System.out.println();System.out.println("-------------");// stream流遍历map.entrySet().stream().forEach(entry -> {String key = entry.getKey();Integer value = entry.getValue();// 处理键值对System.out.println(key+"--"+value);});
}
Javascript
这边注意的几个点是js中使用常用的for循环中,有两种常用的循环:for in循环和for of 循环:
for in :是为了遍历对象而创建的
作用:可以以任意顺序遍历一个对象的除Symbol以外的可枚举属性。
语法:for (variable in object){}
这里注意不要使用for in来遍历数组,会遍历数组的索引,而不是具体的元素
for of :是为了遍历迭代器而创建的
作用:在可迭代对象上创建一个迭代循环,遍历要迭代的数据。无法遍历非迭代对象。
内置可迭代对象有:Array,Map,Set,String,TypedArray
语法:for (variable of iterable){}
简单来说:for…in 遍历索引,而 for…of 循环遍历值
数组遍历
const myArray = [1, 2, 3, 4, 5];// 最普通的for循环
for (let i = 0; i < myArray.length; i++) {console.log(myArray[i]);
}// 使用数组内置的forEach方式
myArray.forEach((element) => {console.log(element);
});// 使用 for...of 循环
for (const element of myArray) {console.log(element);
}// 使用 map 方法: map 方法创建一个新数组,通过对原始数组的每个元素应用一个函数来实现。
const doubledArray = myArray.map((element) => element * 2);
console.log(doubledArray);// 使用 filter 方法:filter 方法创建一个新数组,其中包含满足指定条件的原始数组的元素。
const evenNumbers = myArray.filter((element) => element % 2 === 0);
console.log(evenNumbers);
Magic-api
magic-api中数组的for循环用的就是in,和js有所不同
循环集合
import 'java.lang.System' as System;
var list = [1,2,3];
for(index,item in list){ //如果不需要index,也可以写成for(item in list)System.out.println(index + ":" + item);
}
循环指定次数
var sum = 0;
for(value in range(0,100)){ //包括0包括100sum = sum + value; //不支持+= -= *= /= ++ -- 这种运算
}
return sum;
/*
结果:5050
*/
循环map
import 'java.lang.System' as System;
var map = {key1 : 123,key2 : 456
};
for(key,value in map){ //如果不需要key,也可以写成for(value in map)System.out.println(key + ":" + value);
}
/*
结果:
key1:123
key2:456
*/
Python
常用的两种遍历方式
cities = ["Guangzhou", "Beijing", "Shanghai", "Nanjing"]
for city in cities:print(f"当前城市: {city}")fruits = ["banana", "apple", "mango"]
for index in range(len(fruits)):print(f"当前水果: {fruits[index]}")
相关文章:
多语言for循环遍历总结
多语言for循环遍历总结 工作中经常需要遍历对象,但不同编程语言之间存在一些细微差别。为了便于比较和参考,这里对一些常用的遍历方法进行了总结。 JAVA 数组遍历 Test void ArrayForTest() {String[] array {"刘备","关羽", &…...
python API自动化(Jsonpath断言、接口关联及加密处理)
JsonPath应用及断言 重要 自动化要解决的核心问题 :进行自动测试-自动校验(进行结果的校验 主要能够通过这个方式提取数据业务场景:断言 、接口关联 {key:value}网址:附:在线解析 JSONPath解析器 - 一个工具箱 - 好用…...
C++入门5——C/C++动态内存管理(new与delete)
目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明: 1. 栈区(stack):在…...
leetcode 743.网络延时时间
思路:迪杰斯特拉最短路径 总结起来其实就两件事: 1.从所给起点开始能不能到达所有点; 2.如果能够到达所有点,那么这个时候需要判断每一个点到源点的最短距离,然后从这些点中求出最大值。 所以用最小路径求解是最划…...
MATLAB导入导出Excel的方法|读与写Excel的命令|附例程的github下载链接
前言 前段时间遇到一个需求:导出变量到Excel里面,这里给出一些命令,同时给一个示例供大家参考。 MATLAB读/写Excel的命令 在MATLAB中,可以使用以下命令来读写Excel文件: 读取Excel文件: xlsread(filen…...
【第4章】SpringBoot实战篇之登录优化(含redis使用)
文章目录 前言一、整合redis1. 引入库2. 配置 二、登录优化1.登录2.拦截器3. 登出4. 修改密码 总结 前言 上一章的登录接口,我们将用户登录信息放置于Map中,存在一个问题,集群部署无法共享以及应用停止用户登录信息即丢失,接下来我们整合redis来整合这个问题。 一、整合redis …...
数据结构:详解二叉树(树,二叉树顺序结构,堆的实现与应用,二叉树链式结构,链式二叉树的4种遍历方式)
目录 1.树的概念和结构 1.1树的概念 1.2树的相关概念 1.3树的代码表示 2.二叉树的概念及结构 2.1二叉树的概念 2.2特殊的二叉树 2.3二叉树的存储结构 2.3.1顺序存储 2.3.2链式存储 3.二叉树的顺序结构和实现 3.1二叉树的顺序结构 3.2堆的概念和结构 3.3堆的特点 3…...
HarmonyOS-9(stage模式)
配置文件 {"module": {"requestPermissions": [ //权限{"name": "ohos.permission.EXECUTE_INSIGHT_INTENT"}],"name": "entry", //模块的名称"type": "entry", //模块类型 :ability类型和…...
RestTemplate代码内部访问RESTful服务的客户端工具
1. 前言 在当今的互联网时代,RESTful服务已经成为了一种流行的服务架构风格,它提供了简单、轻量级、灵活、可扩展的方式来构建和访问Web服务。而在Java开发中,Spring框架提供了一个非常方便的工具——RestTemplate,用于访问和调用…...
Flutter 中的 SliverLayoutBuilder 小部件:全面指南
Flutter 中的 SliverLayoutBuilder 小部件:全面指南 Flutter 是一个功能强大的 UI 框架,它提供了丰富的组件来帮助开发者构建高性能、美观的跨平台应用。在 Flutter 的滚动视图系统中,SliverLayoutBuilder 是一个允许开发者根据当前滚动位置…...
家政预约小程序11新增预约
目录 1 创建数据源2 创建页面3 显示选中的服务信息4 设置表单容器5 配置地图6 配置预约成功页面7 从详情页到预约页总结 用户在浏览家政小程序的具体服务时,如果希望预约的,可以在详情页点击立即预约按钮,填写具体的信息,方便家政…...
AI雷达小程序个人名片系统源码 PHP+MYSQL组合开发 带完整的安装代码包以及搭建教程
系统概述 随着移动互联网的普及和社交媒体的兴起,人们获取信息和建立联系的方式发生了翻天覆地的变化。传统的纸质名片已经无法满足现代人的需求,而小程序作为一种轻量级应用,具有无需安装、即开即用、易于分享等特点,成为了个人…...
Kafka生产者消息异步发送并返回发送信息api编写教程
1.引入依赖(pox.xml文件) <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>3.6.2</version> </dependency> </depende…...
WiFi串口服务器与工业路由器:局域网应用的协同之力
在工业物联网(IIoT)迅猛发展的当下,局域网(LAN)作为连接工业设备与数据中心的桥梁,其重要性日益凸显。WiFi串口服务器与工业路由器作为局域网中的关键组件,以其独特的性能和功能,为传…...
Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)
博文简介: 开发场景:unity的3d场景; 功能:当设定的键被按下时,进行物体朝左/右旋转; 适用范围:本文代码适用于设置3d物体朝左右旋转,也适用于设置UI对象朝左右旋转…...
泛微ecology开发修炼之旅
我将多年泛微ecology开发经验,进行了总结,然后分享给大家。 泛微开发修炼之旅 泛微开发修炼之旅--01搭建开发环境 泛微开发修炼之旅--02开发接口demo 泛微开发修炼之旅--03常用数据表结构讲解 泛微开发修炼之旅--04常用数据库操作工具类封装 。。。。 我…...
PostgreSQL的视图pg_locks
PostgreSQL的视图pg_locks pg_locks 是 PostgreSQL 提供的系统视图,用于显示当前数据库中的锁信息。通过查询这个视图,数据库管理员可以监控锁的使用情况,识别潜在的锁争用和死锁问题,并优化数据库性能。 pg_locks 视图字段说明…...
元宇宙NFG结合IPO线上营销模型合理降税
在当今快速演进的互联网和区块链技术背景下,我们见证了从移动端购物到区块链热潮,再到如今市场竞争日趋激烈的变革。尤其是在2024年这个关键节点,许多平台为了吸引用户,推出了各种创新的商业模式。然而,如何在这样的环…...
Python打印当前目录下,所有文件名的首字母
代码如下: #!/usr/bin/env python3 """ 按顺序打印当前目录下,所有文件名的首字母(忽略大小写) """ import sys from pathlib import Pathdef main() -> None:ps Path(__file__).parent.glob(…...
程序员应该有什么职业素养?
程序员的六大职业素养:构建成功职业生涯的基石 在不断变化的技术世界中,程序员不单要保持技术的锋利,也需要培养相应的职业素养,这些素养在很大程度上决定了一个程序员的职业生涯能否走得长远。以下是我认为最为重要的六大职业素…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
