当前位置: 首页 > 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包括100
    sum = 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]}")

相关文章:

  • 学习java第九十天
  • Linux文本处理三剑客之awk命令
  • 房地产销售管理系统具备哪些功能?
  • 下载安装nvm,使用nvm管理node.js版本
  • Linux - 高级IO
  • 10- Redis 键值对数据库是怎么实现的?
  • 人工智能专业现代学徒制人才培养质量评价体系构建
  • 2024.06.04【读书笔记】丨生物信息学与功能基因组学(第十章 多序列比对的基本概念与应用 第四部分)【AI测试版】
  • github有趣项目:Verilog在线仿真( DigitalJS+edaplayground)
  • 000002 - Hadoop环境安装
  • [Algorithm][动态规划][回文串问题][回文子串][最长回文子串][分割回文串Ⅳ]详细讲解
  • 深度解读CharGPT基本原理
  • PyTorch学习(12):PyTorch取极值(max, argmax, min, argmin)
  • 【JavaEE】Servlet
  • Google 解释AI 概览:关于上周的一些情况
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(Object Pascal中的泛型)
  • 【2024年5月备考新增】】 考前篇(32)《必备资料(15) - 论文串讲-项目安全管理》
  • 大模型应用框架-LangChain
  • 计算机网络期末知识总结(第一章)
  • 【MyBatis】MyBatis操作数据库(二):动态SQL、#{}与${}的区别
  • 青岛双星名人集团管理权之争:公司迁址,管理层更迭
  • 进化版大巴黎通杀英超,那个男人后悔了吗
  • 鸿蒙电脑正式亮相,五年布局积累超2700项核心专利
  • 扶桑谈|素称清廉的石破茂被曝受贿,日本政坛或掀起倒阁浪潮
  • 美联储主席:美联储工作方式不会受特朗普影响,从未寻求与总统会面
  • 国务院安委会办公室印发通知:坚决防范遏制重特大事故发生