当前位置: 首页 > 知识库问答 >
问题:

vs数组的静态编程语言列表

严劲
2023-03-14

这两个代码片段有什么区别?以及如何决定使用哪一个?

var array = arrayOf(1,2,3,4,5)

var list = listOf(1,2,3,4,5)

有了这两个代码,我可以像这样通过索引访问它

println(array[0]) // Outputs 1  
println(list[0]) // Outputs 1 

共有1个答案

秦哲瀚
2023-03-14

不同之处在于数据类型:

var array = arrayOf(1,2,3,4,5)  --> class kotlin.Array
var list = listOf(1,2,3,4,5)    --> class java.util.Arrays$ArrayList

您必须决定哪种数据类型最适合您的需求。

 类似资料:
  • 刚开始和Kotlin合作我很喜欢但是。。。我无法理解这种语言中的列表和数组。我对编程并不陌生,也不需要解释数组是什么。我不明白的是。 > 列表和数组之间有什么区别?它们看起来非常相似,您可以使用[索引]访问它们,也可以以几乎相同的方式使用它们。如果一个列表是不可变的,那么它们就更加相同了,所以。。。有什么区别?假设列表不是链表,它们都在O(1)访问时间内工作。 如果我使用列表;可变和不可变之间有什

  • 我有静态函数,它仅限于一些上下文(例如仅用于文档)。有两种替代方法可以将其定义为顶层函数或对象中的函数。 1. 2. 顶级函数的优点是它没有被包装在一个对象中,缺点是它可以从任何地方访问,没有类名前缀。这种情况有优点还是缺点或最佳实践?

  • 如何在 Kotlin 中制作 2D Int 数组?我正在尝试将此代码转换为 Kotlin: 这是我尝试过的一个尝试,第一个2D阵列不起作用,但我让1D阵列起作用了:

  • 我试图用OkHttp和Cucumber在静态编程语言中设置一个Spring启动项目,并且在运行Cucumber任务时遇到以下错误。如何修复? 还有build gradle kts片段 我看到了这个错误https://github.com/square/okio/issues/647看起来可能是它,并修复了这个build.gradle,我如何将其翻译为kotlinbuild.gradle.kts?

  • 迁移到Kotlin 1.5时,我偶然发现了该频道新的trySendBlocking()方法的一个问题。 因此,我们有一个actor返回一个SendChannel 在Kotlin 1.4中,向参与者发送命令时,我们通常使用其通道,如下所示: 现在,建议在Kotlin 1.5中使用以下内容: 很好,但是我想知道为什么不使用trySend()而不是trySendBlocking()?有些事情让我挠头:

  • 我有两个单选组(组1和组2),分别包含3个单选按钮。我用这个准则把左右两列分开,各占一半。由于两个无线组是分开的,当用户单击组1时,我希望清除组2中的选定项(如果有)。任何想法都可以做到,因为我是由Kotlin编写的,所以我在stackoverflow ConstraintLayout、RadioGroup和RadioButton RadioGroup的两列中找到了一些示例,其中两列有十个单选按钮