for遍历list scala_Scala for循环语句用法示例

本文概述

在scala中, for循环称为for-comprehensions。它可用于迭代, 过滤和返回迭代的集合。在命令式语言中, for理解看起来有点像for循环, 只是它构造了所有迭代结果的列表。

句法

for( i

// statements to be executed

}

在以上语法中, range是一个具有起点和终点的值。你可以使用to或直到关键字来传递范围。

使用to关键字的Scala for循环示例

object MainObject {

def main(args: Array[String]) {

for( a

println(a);

}

}

}

输出

1

2

3

4

5

6

7

8

9

10

在下面的示例中, 使用〜代替to。直到和到之间的主要区别在于, 要包括范围中给定的开始和结束值, 而直到排除范围的最后一个值。因此, 以下示例将仅打印1到9。

使用直到关键字的Scala for循环示例

object MainObject {

def main(args: Array[String]) {

for( a

println(a);

}

}

}

输出

1

2

3

4

5

6

7

8

9

当你迭代字符串或数组时, 应用no到关键字会很有帮助, 因为数组范围是0到n-1。直到不超过n-1。因此, 你的代码不会抱怨上限。

Scala for循环过滤示例

你可以用于过滤数据。在下面的示例中, 我们通过传递条件表达式来过滤数据。该程序仅打印给定范围内的偶数值。

object MainObject {

def main(args: Array[String]) {

for( a

println(a);

}

}

}

输出

2

4

6

8

10

使用yield关键字的Scala for循环示例

在上面的示例中, 我们使用yield关键字, 该关键字在完成循环迭代后返回结果。内部的供使用的缓冲区用于存储迭代结果, 在完成所有迭代之后, 它将从该缓冲区产生最终结果。它不像命令式循环那样工作。

object MainObject {

def main(args: Array[String]) {

var result = for( a

for(i

println(i)

}

}

}

输出

1

2

3

4

5

6

7

8

9

10

集合中的Scala for循环

在scala中, 你可以使用for每个循环或for-comprehensions来迭代列表, 序列等集合。

让我们来看一个例子。

Scala for循环迭代集合示例

object MainObject {

def main(args: Array[String]) {

var list = List(1, 2, 3, 4, 5, 6, 7, 8, 9)// Creating a list

for( i

println(i)

}

}

}

输出

1

2

3

4

5

6

7

8

9

10

Scala for-each循环迭代收集示例

在下面的代码中, 我们使用了三种for-each循环方法。你可以根据需要实施其中任何一个。

object MainObject {

def main(args: Array[String]) {

var list = List(1, 2, 3, 4, 5, 6, 7, 8, 9)// Creating a list

list.foreach{

println// Print each element

}

list.foreach(print)

println

list.foreach((element:Int)=>print(element+" "))// Explicitly mentioning type of elements

}

}

输出

1

2

3

4

5

6

7

8

9

123456789

1 2 3 4 5 6 7 8 9

使用关键字的Scala for循环示例

在上面的示例中, 我们使用了关键字。 by关键字用于跳过迭代。当你编写如下代码时:2表示此循环将跳过循环的所有偶数次迭代。

object MainObject {

def main(args: Array[String]) {

for(i

println(i)

}

}

}

输出

1

3

5

7

9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值