scala列表-List.tabulate方法

List.tabulate()()

第一个参数接收一个或多个值,代表一维或多维列表

第二个参数相当于一个或多个for循环,()内的参数就是这些for循环最中间对每个for循环的值的计算公式

举个例子:(这里是多维列表的例子)

List.tabulate(2,3)()  // 代表生成一个二维的列表,两行三列

// 假设第二个参数是b
List.tabulate(2,3)(b)
// 这个b是什么呢
for (x1 <- 0 until 2){
	for (x2 <- 0 until 3){
		b;  // x1与x2的计算公式
	}
}

// 在第二个列表直接输入b的计算公式, 每个x用“_”代表
List.tabulate(2,3)(_*_)  // 代表x1 * x2

// 上面得到的列表
List[List[Int]] = List(List(0, 0, 0), List(0, 1, 2))

// 写成详细的计算过程
List[List[Int]] = List(List(0 * 0, 0 * 1, 0 * 2), 
					   List(1 * 0, 1 * 1, 1 * 2))

如果生成的是一维列表, 写法有所不同

List.tabulate(3)(x => x+1)
// 得到的列表
 List[Int] = List(1, 2, 3)
发布了38 篇原创文章 · 获赞 3 · 访问量 3111

猜你喜欢

转载自blog.csdn.net/weixin_44941795/article/details/104991875