for forEach 循环及Lambda表达式使用

for forEach 循环及Lambda表达式使用

for循环

for循环语句一般代码结构如下:

for(初始化; 判别式; 更新) {
    代码语句
}
执行流程:

先进行初始化;
初始化之后执行判别式,如果判别式结果为真,会执行代码块内容,之后执行更新语句;
更新后再次执行判别式,如果判别式结果为真,会执行代码块内容,之后执行更新语句;
更新后再次执行判别式,直到判别式结果为假结束循环。

forEach循环

其代码结构如下:

for(元素类型 元素变量 : 遍历对象){ 
     代码语句
}

遍历对象通常为数组或者集合;
元素类型为数组或者集合中所存数据的类型;
元素变量为每个元素的变量名。

forEach循环 + Lambda表达式

Lambda表达式是java8的新特征之一,它使我们可以更方便地操作集合forEach循环整合Lambda表达式后代码结构如下:

遍历对象.forEach(元素变量 -> 代码语句);

遍历对象通常为数组或者集合;
元素变量为每个元素的变量名。

执行流程是循环遍历遍历对象,用元素变量获取遍历对象中的各个元素执行代码语句。

Java中,SpEL(Spring Expression Language)是一种强大的表达式语言,可以在运行时动态地评估表达式。SpEL提供了一组丰富的功能,包括foreach循环使用SpEL的foreach循环可以遍历集合或数组,并对每个元素执行特定的操作。下面是使用SpEL foreach循环的示例代码: ```java import org.springframework.expression.ExpressionParser; import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; import java.util.ArrayList; import java.util.List; public class SpelForeachExample { public static void main(String[] args) { // 创建一个包含元素的列表 List<String> fruits = new ArrayList<>(); fruits.add("apple"); fruits.add("banana"); fruits.add("orange"); // 创建SpEL表达式解析器 ExpressionParser parser = new SpelExpressionParser(); // 创建表达式上下文 StandardEvaluationContext context = new StandardEvaluationContext(); context.setVariable("fruits", fruits); // 定义foreach循环表达式 String expression = "#fruits.!{ 'Fruit: ' + $ + ' ' }"; // 评估表达式 String result = parser.parseExpression(expression).getValue(context, String.class); System.out.println(result); } } ``` 在上述示例中,我们创建了一个包含水果的列表。然后,我们使用SpEL表达式解析器创建了一个解析器对象,并创建了一个表达式上下文对象。在表达式上下文中,我们设置了一个名为"fruits"的变量,并将列表对象作为值传递给它。 接下来,我们定义了一个foreach循环的表达式,使用了SpEL的特殊语法。在表达式中,我们使用了"!{}"语法来表示foreach循环,并使用"$"来引用当前元素。在循环体内部,我们拼接了每个元素的字符串表示。 最后,我们使用表达式解析器和表达式上下文来评估表达式,并将结果赋给一个字符串变量。然后,我们将结果打印到控制台上。 运行上述代码,输出结果将是:"Fruit: apple Fruit: banana Fruit: orange",表示遍历列表中的每个元素并进行操作。 这就是使用SpEL表达式进行foreach循环的基本用法。你可以根据具体需求调整表达式来执行不同的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值