Java 初始化二维数组
我有下面的Java代码,我需要转换成Swift。第一种方法是简单地初始化一个包含许多行和列的二维数组Java 初始化二维数组,java,ios,arrays,swift,multidimensional-array,Java,Ios,Arrays,Swift,Multidimensional Array,我有下面的Java代码,我需要转换成Swift。第一种方法是简单地初始化一个包含许多行和列的二维数组 double[][] VAR1 = new double[5][10]; 第二个是用一些初始值初始化2D数组 double[][] VAR2 = new double[][]{ {2.1, 4.3}, {5.4, 8.9},}; 我不知道如何做第一个 但我有一个机会在第二个。但我不确定它是否正确 var var2: [[Double]] = [[2.1], [4.3], [5.4], [8
double[][] VAR1 = new double[5][10];
第二个是用一些初始值初始化2D数组
double[][] VAR2 = new double[][]{ {2.1, 4.3}, {5.4, 8.9},};
我不知道如何做第一个 但我有一个机会在第二个。但我不确定它是否正确
var var2: [[Double]] = [[2.1], [4.3], [5.4], [8.9]]
你很接近-应该是这样的:
var var2: [[Double]] = [[2.1, 4.3], [5.4, 8.9]]
对于第一个:
var var1: [[Double]] = Array(repeating: Array(repeating: 0.0, count: 10), count: 5)
你很接近-应该是这样的:
var var2: [[Double]] = [[2.1, 4.3], [5.4, 8.9]]
对于第一个:
var var1: [[Double]] = Array(repeating: Array(repeating: 0.0, count: 10), count: 5)
哦,对了!谢谢我纠正了第二个错误。但对于第一个,5和10不是值,它们是用来指定容量的。我只是从一个类似的Java中提取了单词rows和columns。啊,好的。在这种情况下,因为您不需要在Swift中指定容量,所以可以说
var var1=[[Double]]()
。在末尾添加()将初始化指定类型的空数组。但是如果我们需要,有没有办法指定容量,或者在Swift中根本不可能这样做?是的,您可以这样做var var1=[[Double]](repeating:[Double](repeating:Double(),count:10),count:5)
。这将创建一个包含5行的“2D”数组(Swift人员不这样称呼他们),每行包含10列类型为Double
。我不经常看到人们在Swift中这样做,但当然欢迎你这么做。明白了!谢谢。哦,对了!谢谢我纠正了第二个错误。但对于第一个,5和10不是值,它们是用来指定容量的。我只是从一个类似的Java中提取了单词rows和columns。啊,好的。在这种情况下,因为您不需要在Swift中指定容量,所以可以说var var1=[[Double]]()
。在末尾添加()将初始化指定类型的空数组。但是如果我们需要,有没有办法指定容量,或者在Swift中根本不可能这样做?是的,您可以这样做var var1=[[Double]](repeating:[Double](repeating:Double(),count:10),count:5)
。这将创建一个包含5行的“2D”数组(Swift人员不这样称呼他们),每行包含10列类型为Double
。我不经常看到人们在Swift中这样做,但当然欢迎你这么做。明白了!谢谢。第一个问题见。@MartinR谢谢!语法需要一点习惯。第一个问题请参见。@MartinR谢谢!语法需要一点时间来适应。