Kotlin是否提供其集合接口的任何实现?
本文关键字:任何 实现 接口 集合 是否 Kotlin | 更新日期: 2023-09-27 18:05:44
我看到Kotlin提供了许多实现集合的接口。它们列在本页上。
我没有看到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中做到这一点?
是否有其集合接口的公开的实现?它们有默认构造函数吗?
Kotlin使用Java实现。
val list = listOf<T>()
基本上就是
val list: List<T> = ArrayList<T>()
这些函数是为了方便而创建的
使用Java-Collections也可以:
val list: List<Book> = ArrayList<Book>()
val mutableList: MutableList<Book> = ArrayList<Book>()