如何在Swift中创建指定大小且元素全为0的二维数组?(含4x4数组初始化实例)
如何在Swift语言中创建一个指定大小、所有元素值均为0的二维数组?
在Swift里创建全0的二维数组其实很简单,最简洁高效的方式就是利用Swift集合自带的repeating初始化器,它专门用来生成元素重复的集合。
假设你需要创建一个rows行×cols列的全0二维数组,可以这么写:
// 先定义你需要的行数和列数 let targetRows = 3 let targetCols = 5 // 生成全0二维数组 let zero2DArray = Array(repeating: Array(repeating: 0, count: targetCols), count: targetRows)
原理很直观:外层的Array(repeating:..., count: targetRows)负责创建包含targetRows个元素的数组,每个元素又是一个由targetCols个0组成的数组——这样就一次性生成了指定大小的全0二维数组,比手动循环填充要简洁得多。
已定义变量
var table: [[Int]],该变量为Int类型的二维数组,如何将其初始化为4×4大小且所有元素值均为0的二维数组? 既然已经提前声明了var table: [[Int]](类型已经明确是Int类型的二维数组),直接给它赋值对应的初始化表达式就可以了,Swift会自动匹配类型:
var table: [[Int]] // 直接赋值为4×4的全0二维数组 table = Array(repeating: Array(repeating: 0, count: 4), count: 4)
当然,如果你是在声明变量的时候就想完成初始化,也可以合并成一行写:
var table: [[Int]] = Array(repeating: Array(repeating: 0, count: 4), count: 4)
两种方式都能达到目的,看你代码的上下文需求来选就行。
内容的提问来源于stack exchange,提问作者jim1863
相关产品推荐
相关产品推荐

