答案 0 :(得分:2)
Array
和Hashmap
是类Array
和Hashmap
的构造函数。
Array(size: Int, init: (Int) -> T)
HashMap(initialCapacity: Int, loadFactor: Float = 0.0f)
HashMap(initialCapacity: Int)
它们用于进行具有特定大小设置的集合。在通常情况下,您将不需要它们。
// same as val arr = arrayOf(0, 2, 4, 8)
val arr = Array(4, index -> index * 2)
// map with initial capacity 8, which means that the map will prepare memory for 8 elements at the beginning.
val map = HashMap(8)
arrayOf
和mapOf
是返回一个新集合的函数,该集合具有与参数相同的元素
inline fun <reified T> arrayOf(vararg elements: T): Array<T> (source)
fun <K, V> hashMapOf(vararg pairs: Pair<K, V>): HashMap<K, V> (source)
val arr1 = arrayOf(1, 2, 3, 4, 5, 6)
val arr2 = arrayOf("D", "E", "FG", "H")
val map1 = mapOf("a" to 2, "b" to 3)
val map2 = mapOf(4 to "SDF", 7 to "E", 8 to "T")
答案 1 :(得分:0)
Kotlin集合具有三种类型List
,Set
和Map
。这些集合是可变的且不可变的。映射是作为键值对的Hashmap。
以下是Kotlin文档中的定义:
列表:
元素的一般有序集合。此界面中的方法 仅支持对列表的只读访问;读/写访问权限是 通过MutableList接口支持。
val numbers: MutableList<Int> = mutableListOf(1, 2, 3)
设置:
不支持的元素的一般无序集合 重复元素。此接口中的方法仅支持只读 进入集合;通过以下方式支持读/写访问 MutableSet接口。
val animals = mutableSetOf("Lion", "Dog", "Cat")
地图:
一个包含对象对(键和值)和 支持有效地检索与每个键对应的值。 映射键是唯一的;该地图的每个键仅包含一个值。 该接口中的方法仅支持对地图的只读访问; 通过MutableMap界面支持读写访问。
val populations = mutableMapOf(
Pair("Toronto", 3000),
Pair("Windsor", 400)
)
现在mutableListOf
,mutableSetOf
和mutableMapOf
与listOf
,setOf
和mapOf
之间的区别是可变性。您可以将值添加到前面带有mutable
关键字的集合中,而不能将值添加到前面没有mutable
关键字的集合中。
以下是不可变集合的示例:
var nums = listOf(1, 2, 3, 4)
var names = setOf("Bob", "John", "Elizabeth")
var population = mapOf(
Pair("Windsor", 2000),
Pair("Toronto", 50000)
)
哈希图:
HashMap是基于MutableMap接口的Kotlin集合类。它以键值对的形式存储数据。
val hashMap:HashMap<Int,String> = HashMap<Int,String>()
数组
表示一个数组(特别是在针对JVM时的Java数组 平台) *可以使用[arrayOf],[arrayOfNulls]和[emptyArray]创建数组实例
。
参考:https://pandas.pydata.org/pandas-docs/version/0.18/generated/pandas.Series.empty.html