当前位置: 首页 > news >正文

多语言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循环遍历总结 工作中经常需要遍历对象&#xff0c;但不同编程语言之间存在一些细微差别。为了便于比较和参考&#xff0c;这里对一些常用的遍历方法进行了总结。 JAVA 数组遍历 Test void ArrayForTest() {String[] array {"刘备","关羽", &…...

python API自动化(Jsonpath断言、接口关联及加密处理)

JsonPath应用及断言 重要 自动化要解决的核心问题 &#xff1a;进行自动测试-自动校验&#xff08;进行结果的校验 主要能够通过这个方式提取数据业务场景&#xff1a;断言 、接口关联 {key:value}网址&#xff1a;附&#xff1a;在线解析 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的内存分布 说明&#xff1a; 1. 栈区&#xff08;stack&#xff09;&#xff1a;在…...

leetcode 743.网络延时时间

思路&#xff1a;迪杰斯特拉最短路径 总结起来其实就两件事&#xff1a; 1.从所给起点开始能不能到达所有点&#xff1b; 2.如果能够到达所有点&#xff0c;那么这个时候需要判断每一个点到源点的最短距离&#xff0c;然后从这些点中求出最大值。 所以用最小路径求解是最划…...

MATLAB导入导出Excel的方法|读与写Excel的命令|附例程的github下载链接

前言 前段时间遇到一个需求&#xff1a;导出变量到Excel里面&#xff0c;这里给出一些命令&#xff0c;同时给一个示例供大家参考。 MATLAB读/写Excel的命令 在MATLAB中&#xff0c;可以使用以下命令来读写Excel文件&#xff1a; 读取Excel文件&#xff1a; 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. 前言 在当今的互联网时代&#xff0c;RESTful服务已经成为了一种流行的服务架构风格&#xff0c;它提供了简单、轻量级、灵活、可扩展的方式来构建和访问Web服务。而在Java开发中&#xff0c;Spring框架提供了一个非常方便的工具——RestTemplate&#xff0c;用于访问和调用…...

Flutter 中的 SliverLayoutBuilder 小部件:全面指南

Flutter 中的 SliverLayoutBuilder 小部件&#xff1a;全面指南 Flutter 是一个功能强大的 UI 框架&#xff0c;它提供了丰富的组件来帮助开发者构建高性能、美观的跨平台应用。在 Flutter 的滚动视图系统中&#xff0c;SliverLayoutBuilder 是一个允许开发者根据当前滚动位置…...

家政预约小程序11新增预约

目录 1 创建数据源2 创建页面3 显示选中的服务信息4 设置表单容器5 配置地图6 配置预约成功页面7 从详情页到预约页总结 用户在浏览家政小程序的具体服务时&#xff0c;如果希望预约的&#xff0c;可以在详情页点击立即预约按钮&#xff0c;填写具体的信息&#xff0c;方便家政…...

AI雷达小程序个人名片系统源码 PHP+MYSQL组合开发 带完整的安装代码包以及搭建教程

系统概述 随着移动互联网的普及和社交媒体的兴起&#xff0c;人们获取信息和建立联系的方式发生了翻天覆地的变化。传统的纸质名片已经无法满足现代人的需求&#xff0c;而小程序作为一种轻量级应用&#xff0c;具有无需安装、即开即用、易于分享等特点&#xff0c;成为了个人…...

Kafka生产者消息异步发送并返回发送信息api编写教程

1.引入依赖&#xff08;pox.xml文件&#xff09; <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>3.6.2</version> </dependency> </depende…...

WiFi串口服务器与工业路由器:局域网应用的协同之力

在工业物联网&#xff08;IIoT&#xff09;迅猛发展的当下&#xff0c;局域网&#xff08;LAN&#xff09;作为连接工业设备与数据中心的桥梁&#xff0c;其重要性日益凸显。WiFi串口服务器与工业路由器作为局域网中的关键组件&#xff0c;以其独特的性能和功能&#xff0c;为传…...

Unity功能——通过按键设置物体朝左/右旋转(含C#转xlua版)

博文简介&#xff1a; 开发场景&#xff1a;unity的3d场景&#xff1b; 功能&#xff1a;当设定的键被按下时&#xff0c;进行物体朝左/右旋转&#xff1b; 适用范围&#xff1a;本文代码适用于设置3d物体朝左右旋转&#xff0c;也适用于设置UI对象朝左右旋转&#xf…...

泛微ecology开发修炼之旅

我将多年泛微ecology开发经验&#xff0c;进行了总结&#xff0c;然后分享给大家。 泛微开发修炼之旅 泛微开发修炼之旅--01搭建开发环境 泛微开发修炼之旅--02开发接口demo 泛微开发修炼之旅--03常用数据表结构讲解 泛微开发修炼之旅--04常用数据库操作工具类封装 。。。。 我…...

PostgreSQL的视图pg_locks

PostgreSQL的视图pg_locks pg_locks 是 PostgreSQL 提供的系统视图&#xff0c;用于显示当前数据库中的锁信息。通过查询这个视图&#xff0c;数据库管理员可以监控锁的使用情况&#xff0c;识别潜在的锁争用和死锁问题&#xff0c;并优化数据库性能。 pg_locks 视图字段说明…...

元宇宙NFG结合IPO线上营销模型合理降税

在当今快速演进的互联网和区块链技术背景下&#xff0c;我们见证了从移动端购物到区块链热潮&#xff0c;再到如今市场竞争日趋激烈的变革。尤其是在2024年这个关键节点&#xff0c;许多平台为了吸引用户&#xff0c;推出了各种创新的商业模式。然而&#xff0c;如何在这样的环…...

Python打印当前目录下,所有文件名的首字母

代码如下&#xff1a; #!/usr/bin/env python3 """ 按顺序打印当前目录下&#xff0c;所有文件名的首字母&#xff08;忽略大小写&#xff09; """ import sys from pathlib import Pathdef main() -> None:ps Path(__file__).parent.glob(…...

程序员应该有什么职业素养?

程序员的六大职业素养&#xff1a;构建成功职业生涯的基石 在不断变化的技术世界中&#xff0c;程序员不单要保持技术的锋利&#xff0c;也需要培养相应的职业素养&#xff0c;这些素养在很大程度上决定了一个程序员的职业生涯能否走得长远。以下是我认为最为重要的六大职业素…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解

突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 ​安全措施依赖问题​ GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

STM32---外部32.768K晶振(LSE)无法起振问题

晶振是否起振主要就检查两个1、晶振与MCU是否兼容&#xff1b;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容&#xff08;CL&#xff09;与匹配电容&#xff08;CL1、CL2&#xff09;的关系 2. 如何选择 CL1 和 CL…...

java高级——高阶函数、如何定义一个函数式接口类似stream流的filter

java高级——高阶函数、stream流 前情提要文章介绍一、函数伊始1.1 合格的函数1.2 有形的函数2. 函数对象2.1 函数对象——行为参数化2.2 函数对象——延迟执行 二、 函数编程语法1. 函数对象表现形式1.1 Lambda表达式1.2 方法引用&#xff08;Math::max&#xff09; 2 函数接口…...

Python学习(8) ----- Python的类与对象

Python 中的类&#xff08;Class&#xff09;与对象&#xff08;Object&#xff09;是面向对象编程&#xff08;OOP&#xff09;的核心。我们可以通过“类是模板&#xff0c;对象是实例”来理解它们的关系。 &#x1f9f1; 一句话理解&#xff1a; 类就像“图纸”&#xff0c;对…...

高分辨率图像合成归一化流扩展

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 摘要 我们提出了STARFlow&#xff0c;一种基于归一化流的可扩展生成模型&#xff0c;它在高分辨率图像合成方面取得了强大的性能。STARFlow的主要构建块是Transformer自回归流&#xff08;TARFlow&am…...