Kotlin 数组容器

作者: jinkui | 来源:发表于2017-05-25 10:45 被阅读6637次

Arrays

Kotlin 标准库提供了arrayOf()创建数组, **ArrayOf创建特定类型数组

val array = arrayOf(1, 2, 3)
val countries = arrayOf("UK", "Germany", "Italy")
val numbers = intArrayOf(10, 20, 30)
val array1 = Array(10, { k -> k * k })
val longArray = emptyArray<Long>()
val studentArray = Array<Student>(2)
studentArray[0] = Student("james")

和Java不一样,Kotlin 的数组是容器类, 提供了 ByteArray, CharArray, ShortArray, IntArray, LongArray, BooleanArray, FloatArray, and DoubleArray。

Lists

List是有序容器,Kotlin 标准库通过listOf()创建list

val intList: List<Int> = listOf(20, 5, 10)
val emptyList: List<String> = emptyList<String>()
val nonNulls: List<String> = listOfNotNull<String>(null, "a", "b", "c")

val doubleList: ArrayList<Double> = arrayListOf(84.88, 100.25, 999.99)

其中,intList, emptyList, nonNulls是只读的实例,要修改这些list,需要进行类型转换

(intList as AbstractList<Int>).set(0, 30)
(nonNulls as java.util.ArrayList).addAll(arrayOf("x", "y"))

Maps

Map是<key, value>容器, Kotlin提供mapOf创建map

val map = mapOf("a" to 1, "b" to 2, "c" to 3)
val value = map.get(b)

val states: MutableMap<String, String>= mutableMapOf("AL" to "Alabama", 
        "AK" to "Alaska", "AZ" to "Arizona")

val customers: java.util.HashMap<Int, Customer> = hashMapOf(1 to
        Customer("Dina", "Kreps", 1), 2 to Customer("Andy", "Smith", 2))

val linkedHashMap: java.util.LinkedHashMap<String, String> =
        linkedMapOf("red" to "#FF0000","azure" to "#F0FFFF","white" to "#FFFFFF")

val sortedMap: java.util.SortedMap<Int, String> = sortedMapOf(4 to "d",
        1 to "a", 3 to "c", 2 to "b")

Sets

Set是没有重复项的容器, Kotlin提供setOf创建Set

val intSet: Set<Int> = setOf(1, 21, 21, 2, 6, 3, 2) //1,21,2,6,3
val hashSet: java.util.HashSet<Book> = hashSetOf(
        Book("Jules Verne", "Around the World in 80 Days Paperback", 2014, "978-1503215153"),
        Book("Jules Verne", "Around the World in 80 Days Paperback", 2014, "978-1503215153"))
val sortedIntegers: java.util.TreeSet<Int> = sortedSetOf(11, 0, 9, 11, 9, 8)

参考*
《Programming Kotlin》Stephen Samuel ,Stefan Bocutiu
《Kotlin in Action》Dmitry Jemerov,Svetlana Isakova

相关文章

  • 【Android】 Kotlin(三)数据容器

    kotlin数据容器 容器是用于存放数据的载体。容器分为数组、集合。 Kotlin作为一门全新的语言,肯定还是要有...

  • Kotlin的数组array和集合list的简单使用以及注意事项

    学习到Kotlin的数组和集合,这里做个记录。 数组Array Kotlin中数组也是个容器,提供了不同的类型有:...

  • Kotlin 数组容器

    Arrays Kotlin 标准库提供了arrayOf()创建数组, **ArrayOf创建特定类型数组 和Jav...

  • Kotlin数组容器

    Arrays Kotlin 标准库提供了arrayOf()创建数组,所以一般后缀是arrayOf()的,都可以找到...

  • Kevin Learn Kotlin:数据容器(数组)

    容器是用于存放数据的载体。容器分为数据、集合。 Kotlin 数组 1. 特点 数组是一种初始化时指定容器大小,不...

  • Kotlin数据容器

    容器是用于存放数据的载体。容器分为数组、集合。 Kotlin作为一门全新的语言,肯定还是要有自己的容器类,不然哪天...

  • Kotlin数据容器(1)✔️数组

    对象数组基本数据类型数组   数据容器是基于某种数据结构的,常见的数据结构有数组 (Array)、集 (Set)、...

  • Kotlin学习之数组

    Kotlin学习之数组 @(Kotlin学习) Kotlin中的数组采用Array类定义,抛弃了类C语言中“...

  • Kotlin数组

    数组在Kotlin中使用Array类来表示。下面巴拉一下Kotlin数组和Java数组的区别。Java中的数组通常...

  • kotlin-笔记01-语法概要(思维导图)

    本文涉及内容 kotlin数据类型kotlin容器类型kotlin方法&lambda表达式kotlin条件控制ko...

网友评论

    本文标题:Kotlin 数组容器

    本文链接:https://www.haomeiwen.com/subject/vsbaxxtx.html