java foreach 使用

Linux CentOS 8系统离线升级内核版本 CentOS 8操作系统离线场景下升级内核版本 阅读详情
foreach语句使用总结
 
foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
 
foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。
 
foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是“for 每一个”的意思。实际上也就是这个意思。
 
foreach的语句格式:
for(元素类型t 元素变量x : 遍历对象obj){
     引用了x的java语句;
}
 
下面通过两个例子简单例子看看foreach是如何简化编程的。代码如下:
 
一、foreach简化数组和集合的遍历
 
import java.util.Arrays; 
import java.util.List; 
import java.util.ArrayList; 

/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2007-12-3 
* Time: 16:58:24 
* Java5新特征之foreach语句使用总结 
*/
 
public class TestArray { 
    public static void main(String args[]) { 
         TestArray test = new TestArray(); 
         test.test1(); 
         test.listToArray(); 
         test.testArray3(); 

     } 

    /** 
     * foreach语句输出一维数组 
     */
 
    public void test1() { 
        //定义并初始化一个数组 
        int arr[] = {2, 3, 1}; 
         System.out.println("----1----排序前的一维数组"); 
        for (int x : arr) { 
             System.out.println(x); //逐个输出数组元素的值 
         } 

        //对数组排序 
         Arrays.sort(arr); 

        //利用java新特性for each循环输出数组 
         System.out.println("----1----排序后的一维数组"); 
        for (int x : arr) { 
             System.out.println(x); //逐个输出数组元素的值 
         } 
     } 

    /** 
     * 集合转换为一维数组 
     */
 
    public void listToArray() { 
        //创建List并添加元素 
         List<String> list = new ArrayList<String>(); 
         list.add("1"); 
         list.add("3"); 
         list.add("4"); 

        //利用froeach语句输出集合元素 
         System.out.println("----2----froeach语句输出集合元素"); 
        for (String x : list) { 
             System.out.println(x); 
         } 

        //将ArrayList转换为数组 
         Object s[] = list.toArray(); 

        //利用froeach语句输出集合元素 
         System.out.println("----2----froeach语句输出集合转换而来的数组元素"); 
        for (Object x : s) { 
             System.out.println(x.toString()); //逐个输出数组元素的值 
         } 
     } 

    /** 
     * foreach输出二维数组测试 
     */
 
    public void testArray2() { 
        int arr2[][] = {{4, 3}, {1, 2}}; 
         System.out.println("----3----foreach输出二维数组测试"); 
        for (int x[] : arr2) { 
            for (int e : x) { 
                 System.out.println(e); //逐个输出数组元素的值 
             } 
         } 
     } 

    /** 
     * foreach输出三维数组 
     */
 
    public void testArray3() { 
        int arr[][][] = { 
                 {{1, 2}, {3, 4}}, 
                 {{5, 6}, {7, 8}} 
         }; 

         System.out.println("----4----foreach输出三维数组测试"); 
        for (int[][] a2 : arr) { 
            for (int[] a1 : a2) { 
                for (int x : a1) { 
                     System.out.println(x); 
                 } 
             } 
         } 
     } 
}
 
运行结果:
----1----排序前的一维数组 
2 
3 
1 
----1----排序后的一维数组 
1 
2 
3 
----2----froeach语句输出集合元素 
1 
3 
4 
----2----froeach语句输出集合转换而来的数组元素 
1 
3 
4 
----4----foreach输出三维数组测试 
1 
2 
3 
4 
5 
6 
7 
8 

Process finished with exit code 0
 
二、foreach语句的局限性
 
通过上面的例子可以发现,如果要引用数组或者集合的索引,则foreach语句无法做到,foreach仅仅老老实实地遍历数组或者集合一遍。下面看一个例子就明白了:
 
/** 
* Created by IntelliJ IDEA. 
* User: leizhimin 
* Date: 2007-12-3 
* Time: 17:07:30 
* foreach语句的局限性 
*/
 
public class TestArray2 { 

    public static void main(String args[]) { 
        //定义一个一维数组 
        int arr[] = new int[4]; 
         System.out.println("----未赋值前输出刚刚定义的数组----"); 
        for (int x : arr) { 
             System.out.println(x); 
         } 

        //通过索引给数组元素赋值 
         System.out.println("----通过循环变量给数组元素赋值----"); 
        for (int i = 3; i > 0; i--) { 
             arr[i] = i; 
         } 
        //循环输出创建的数组 
         System.out.println("----赋值后,foreach输出创建好的数组----"); 
        for (int x : arr) { 
             System.out.println(x); 
         } 
     } 
}

运行结果:
 
----未赋值前输出刚刚定义的数组---- 
0 
0 
0 
0 
----通过循环变量给数组元素赋值---- 
----赋值后,foreach输出创建好的数组---- 
0 
1 
2 
3 

Process finished with exit code 0
 
三、总结
 

foreach语句是for语句特殊情况下的增强版本,简化了编程,提高了代码的可读性和安全性(不用怕数组越界)。相对老的for语句来说是个很 好的补充。提倡能用foreach的地方就不要再用for了。在用到对集合或者数组索引的情况下,foreach显得力不从心,这个时候是用for语句的 时候了。foreach一般结合泛型使用.

Python爬虫实战:使用最新技术爬取新浪新闻首页数据 本文详细介绍了三种爬取新浪新闻首页的技术方案,从简单的requests-html到强大的Playwright,再到分布式Scrapy架构。小规模爬取:requests-html或aiohttp方案需要JavaScript渲染:Playwright方案大规模分布式爬取:Scrapy-Redis方案。 阅读详情

相关推荐

OneNet新版MQTT+OneJSON接入全指南

物联网云平台设备接入是嵌入式系统与云端协同的基础能力,其核心依赖于标准化通信协议与统一数据模型。MQTT作为轻量级发布/订阅协议,凭借低带宽占用和高可靠性,成为边缘设备上云的主流选择;而物模型(Thing Model)则定义了设备能力的数字契约,支撑数据语义化与平台自治管理。OneNet新版强制采用MQTT+OneJSON协议栈,不仅提升数据解析一致性与安全认证强度,更推动开发范式从‘协议适配’转向‘模型驱动’。该架构广泛适用于环境监测、智能表计、工业传感等场景,尤其利好基于ESP8266、STM32等资源

weixin_42599558的博客 361

【转载】Java中list.foreach()和list.stream().foreach()用法详解

总结起来,对于上面的代码学习,主要涉及了两种遍历集合的方式:List.forEach() 和 List.stream().forEach()。方法:遍历是在当前线程中按顺序执行的,对集合元素的操作是同步的。适用于简单的、顺序执行的遍历操作。不支持并行操作,不保证源数据的顺序。方法:可以利用并行流进行多线程处理,提高遍历效率,不保证源数据的顺序。适用于更复杂的、并行处理的遍历操作,可以配合 Stream 的其他操作进行更灵活的数据处理。

yang1276的博客 2116

3D打印必备:如何用Blender将NWD文件转成STL(附精度调整技巧)

本文详细介绍了如何使用Blender将NWD文件转换为STL格式,特别针对3D打印需求提供了精度调整技巧。从环境准备到分步转换流程,再到3D打印专属优化策略,帮助设计师解决破面、尺寸偏差等常见问题,实现高效、精准的格式转换。

week9的博客 272

Java中List.forEach()方法使用

// 创建集合 List<String> list =Lists.newArrayList("a","b","c","d"); //1、正常遍历 list.forEach(item->System.out.println(item)); //2、条件遍历 list.forEach(item->{ if("b".equals(item)){ System.out.println(item); } package java.lang; import java.util.Itera

weixin_45920385的博客 2万+

FDTD Solutions-入射波长模式

经常在文献中看到仿真光源使用TM/TE模式,这个确定是十分必要的,决定了仿真结果。 但是也不能局限于选择TM/TE,因为不同领域、不同软件之间的使用习惯和命名可能不同。并且在现代光波导器件中,几乎全部 都是混合模式,或者称之为quasi-TE(准TE模式)和quasi-TM(准TM模式),多数情况下都简称为TE模式和TM模式。要知道 到底是TE模式还是TM模式,需要查看其电场的主分量(即振幅...

HECHUANWANG的博客 1万+

vue中使用video-player视频插件,第一次无法监听父组件穿过来的值解决办法

需求: 页面![在这里插入图片描述](https://img-blog.csdnimg.cn/20201208141906802.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0FfOTg4OA==,size_16,color_FFFFFF,t_70) 作品清单是从后端请求回来的不同格式的url,前端需求根据后缀动态判断格式,然后对齐进行下载和

A_9888的博客 768

Java8---Stream()常用方法

java8中提供了Stream对集合操作做出了极大的简化,学习了Stream之后,我们以后不用使用for循环就能对集合做出很好的操作。 一.流的初始化与转换 Java中的Stream的所有操作都是针对流的,所以使用Stream必须要得到Stream对象 1> 初始化一个流 Stream stream = Stream.of("a","b","c"); 2> 数组转换为一个流 String[] str = new String[]{"a","b","c"}; stream = Str

weixin_45941064的博客 4758

MAX96712在车载摄像头系统中的带宽分配与传输能力计算解析

在计算摄像头带宽与传输接口的关系时,需要考虑视频流的像素分辨率、帧率、颜色深度等因素。以 MAX96712 这种 GMSL2 产品为例,它支持每个链路在正向方向以 3Gbps 或 6Gbps 的固定速率工作。

weixin_43199439的博客 3328

List<String> 如何用jstl foreach遍历

List 如何用jstl foreach遍历:   执行项名称 ** 请选择 ${aobj}

eminem2011的专栏 9020

MFC实现图书管理系统(附完整源码)

MFC实现图书管理系统(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 801

arkts编译报错-arkts-limited-stdlib错误【Bug已完美解决-鸿蒙开发】

在使用 Deveco Studio 4.0 beta2 开发应用时,报错。ERROR: ArkTS:ERROR File: D:/prRevivw/3792/applications_appsamg优快云o”见台难忘Usage of standardlibrary is restricted (arkts-limited-stdlib)这是 ArkTS 新增的语法规则。

一键难忘的博客 3776

java forEach使用

java forEach使用 foreach 是 Java 中的一种语法糖,目的是方便程序员开发和提高性能。其实就是编译期间以特定的字节码或特定的方式来对这些语法进行处理。 1.普通数组forEach用法 对于数组,foreach 循环实际上还是用的普通的 for 循环,怎么说foreach 循环就是for 循环 int[] arr= {1,2,3,4,5} //forEach写法(效果跟下面同等...

qq_43203949的博客 4万+

【目标跟踪】多目标跟踪的评价工具motmetrics怎么使用?

多目标跟踪,通过motmetrics测试评价对应的视频。

聿默的博客 5368

java的foreach使用

java的foreach使用@TOC java的foreach遍历 //foreach语句 for(类型 元素变量 : 遍历对象) 此时print输出i(元素变量)可输出对象的第i个元素 上图 public class HelloWorld { public static void main(String[] args) { // 定义一个整型数组,长度为10 int[]...

qq_45218502的博客 1466

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Java8中的forEach使用

文章目录forEach1. forEach method2. Java 8 stream forEach example3. Java forEach examle using List4. Java forEach example using Map5. Create custom action(自定义操作) forEach Java中的forEach是一个用于迭代集合或流,且可以对迭代的每个元...

FEEL的博客 2万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

java中foreach的用法

java中foreach,可以认为是增强版的for语句循环,它可以减少代码量,但是不是所有的foreach都可以代替for循环。 foreach的语句格式:for(元素类型type 元素变量value :遍历对象obj){ 引用x的java语句 } 用法1:输出一维数组 用法2:输出二维数组 foreach的局限性 foreach是for循环的增强版本,简化了编程,提高了代码的可读性和安全...

qq_44840148的博客 10万+

Java8 forEach 使用

引言 在本文中,我们将向您展示如何使用新的 java 8 foreach 语句循环 List 和 Map。 1. forEach and Map 普通方式遍历 Map Map<String, Integer> items = new HashMap<>(); items.put("A", 10); items.put("B", 20); items.put("C...

山川尽美的专栏 4万+

Java foreach语句的用法

Java foreach语句用法使用如何使用Java1.5出现的foreach语句foreach语句for循环foreach语句的使用注意事项 如何使用Java1.5出现的foreach语句 foreach在遍历数组、集合方面,foreach 为开发者提供了极大的方便。foreach 循环语句是 for 语句的特殊简化版本,主要用于执行遍历功能的循环。 foreach语句 foreach 循环语句的语法格式如下: for(数据类型 变量名:数组) { 需要执行的语句块; } 举一个简单的例子:

m0_56642224的博客 1万+

java中foreach循环

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。 foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。 foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也...

小小程序员 19万+

java foreach 本质_JAVA - foreach

foreach是java5的新特性,增强了for循环,在遍历数组和集合上面很方便。foreach是for循环的简化版本,但是foreach不能完全取代for循环,然而任何foreach都可以改写为for循环,foreach不是一个关键字,主要就是这个格式,每一个for的意思。foreach语句格式:for(元素类型type 元素变量value : 遍历对象obj) {引用x的java语句;}fo...

weixin_31107269的博客 733

【Java】Java中foreach循环的使用

在jdk1.5及以后的版本,都支持foreach循环。 以下列出常用for循环的地方以及foreach在对应情况下的语法模式: public class Test { public static void main(String[] args){ /*for中对象是数组*/ int a[]={1,2,3}; for(int i=0;i<3;i++) System.out.pr

Lillian's coding life 4974

java8foreach 返回值,Java8 forEach

Java8 forEachJava forEach 是一种实用程序方法,用于迭代集合(如列表、集或映射)和流,并针对其的每个元素执行特定操作。1. Java 8 forEach方法1.1 Iterable.forEach()下边代码展示了Iterable接口中forEach方法的默认实现。这使得该方法可以用于除了Map之外的所有集合Iterable.javadefault void forEach...

weixin_42445886的博客 2860

java foreach

foreach 是 Java 中的一种语法糖,几乎每一种语言都有一些这样的语法糖来方便程序员进行开发,编译期间以特定的字节码或特定的方式来对这些语法进行处理。能够提高性能,并减少代码出错的几率。在 Java 中还有比如 泛型、自动拆箱、自动装箱、内部类、枚举等等。 foreach 是用来对数组或者集合进行遍历的语法。具体语法如下: for(元素类型 ele : 数组名/Iterable 实例){ ...

Jacy_Wang的博客 2万+

java中的foreach循环

foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。 foreach语句是for语句的特殊简化版本,但是foreach语句并不能完全取代for语句,然而,任何的foreach语句都可以改写为for语句版本。 foreach并不是一个关键字,习惯上将这种特殊的for语句格式称之为“foreach”语句。从英文字面意思理解foreach也就是...

JAVA代码搜集 1万+
上一篇: 用java实现从文本文件批量导入数据至数据库
下一篇: Oracle Job 语法和时间间隔的设定
Hack_Bug
博客等级 码龄15年 34粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值