【发布时间】:2016-09-06 09:20:14
【问题描述】:
我看到 Kotlin 提供了许多用于实现集合的接口。它们列在this page。
我没有看到 Kotlin 提供的任何这些实现。
不过,我确实看到全局命名空间中有一些函数可以帮助我们创建这些集合的实例。例如要创建一个可变的数字列表,我们可以说:
var numbers : MutableList<Int> = mutableListOf(1, 2, 3);
要创建列表的只读视图,我们可以说:
val readOnlyViewOfNumbers : List<Int> = numbers;
或者,要创建一个只读数字列表,我们可以说:
val readOnlyListOfNumbers : List<Int> = listOf(1, 2, 3);
要创建n 项目列表并使用值null 初始化每个元素,我们可以说:
// Sorry, I forgot the function name for this one. It
// is not nullableListOf(...)
val numbers : List<Int> = nullableListOf(n);
要创建一个数组,比如说,5 个元素,数组的每个元素都有一个初始化函数,我们可以说:
val myArray : Array<Int> = Array(5, (i) => { /* return whatever */ };
但是,如果我想创建一个没有任何书籍的List<Book>,但我只想像这样初始化它(Java 或 C# 代码):
List<Book> books = new ArrayList<Book>(); // Java or
List<Book> books = new List<Book>(); // C#
我如何在 Kotlin 中做到这一点?
它的集合接口是否有公开的实现?他们有默认构造函数吗?
【问题讨论】:
-
请参阅 stackoverflow.com/questions/33727657/… 以全面了解 Kotlin 和集合
-
@IRus 对不起,我错过了什么吗?这些是一堆接口。实施在哪里?
-
@WaterCoolrv2 在 git 子模块中。