我如何通过提供大小在 Kotlin 中创建一个数组,就像在 Java 中一样?
How can I create an array in Kotlin like in Java by just providing a size?
如何像在 java 中那样创建数组?
int A[] = new int[N];
我如何在 Kotlin 中执行此操作?
根据reference,数组的创建方式如下:
对于 Java 的原始类型,有不同的类型 IntArray
、DoubleArray
等,它们存储 unboxed 个值。
它们是用相应的构造函数和工厂函数创建的:
val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size]
val numbersFromOne = IntArray(size) { it + 1 }
val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21)
第一个与Java中的类似,它只是创建一个填充有默认值的原始数组,例如Int
为零,Boolean
为 false
。
非原始数组由 Array<T>
class 表示,其中 T
是项目类型。
T
仍然可以是 Java 中的基本类型之一(Int
、Boolean
、...),但其中的值将等效于装箱Java的Integer
、Double
等等。
此外,T
可以是 nullable and non-null,如 String
和 String?
。
这些都是以类似的方式创建的:
val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size]
val strings = Array(size) { "n = $it" }
val myStrings = arrayOf("foo", "bar", "baz")
val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size]
val boxedZeros = Array(size) { 0 }
在 Kotlin 中,创建大小为 N 的 IntArray 很简单。使用 IntArray(n)
或适当的类型,详见热键的回答。
使用固定大小的数组时,可以使用 Kotlin Destructuring
// Create fixed sized array
val point = IntArray(2)
// Access values directly
val (x, y) = point
在这种情况下,x
将从索引 0 中获取,y
从索引 1 中获取,依此类推。
这里是初始化字符串数组的简单例子
var names = Array<String>(<AnotherArray.size>) { i -> "" }
科特林 doc
val A = FloatArray(N) //N 是 ar
的大小
您可以使用 IntArray
创建它,就像这个变量声明一样
val A = IntArray(N)
如何像在 java 中那样创建数组?
int A[] = new int[N];
我如何在 Kotlin 中执行此操作?
根据reference,数组的创建方式如下:
对于 Java 的原始类型,有不同的类型
IntArray
、DoubleArray
等,它们存储 unboxed 个值。它们是用相应的构造函数和工厂函数创建的:
val arrayOfZeros = IntArray(size) //equivalent in Java: new int[size] val numbersFromOne = IntArray(size) { it + 1 } val myInts = intArrayOf(1, 1, 2, 3, 5, 8, 13, 21)
第一个与Java中的类似,它只是创建一个填充有默认值的原始数组,例如
Int
为零,Boolean
为false
。非原始数组由
Array<T>
class 表示,其中T
是项目类型。T
仍然可以是 Java 中的基本类型之一(Int
、Boolean
、...),但其中的值将等效于装箱Java的Integer
、Double
等等。此外,
T
可以是 nullable and non-null,如String
和String?
。这些都是以类似的方式创建的:
val nulls = arrayOfNulls<String>(size) //equivalent in Java: new String[size] val strings = Array(size) { "n = $it" } val myStrings = arrayOf("foo", "bar", "baz") val boxedInts = arrayOfNulls<Int>(size) //equivalent in Java: new Integer[size] val boxedZeros = Array(size) { 0 }
在 Kotlin 中,创建大小为 N 的 IntArray 很简单。使用 IntArray(n)
或适当的类型,详见热键的回答。
使用固定大小的数组时,可以使用 Kotlin Destructuring
// Create fixed sized array
val point = IntArray(2)
// Access values directly
val (x, y) = point
在这种情况下,x
将从索引 0 中获取,y
从索引 1 中获取,依此类推。
这里是初始化字符串数组的简单例子
var names = Array<String>(<AnotherArray.size>) { i -> "" }
科特林 doc
val A = FloatArray(N) //N 是 ar
的大小您可以使用 IntArray
创建它,就像这个变量声明一样
val A = IntArray(N)