zoukankan      html  css  js  c++  java
  • Kotlin集合——List集合

    Kotlin集合——List集合

    List集合的最大特征就是集合元素都有对应的顺序索引。List集合允许使用重复元素,可以通过索引来访问指定位置的集合元素。

    一、声明和创建List集合

    Kotlin提供了如下工具函数来创建List集合:

    • listOf():该函数返回不可变的List集合。该函数可接受0个或多个参数,这些参数将作为集合的元素。
    • listOfNotNull():该函数返回不可变的List集合。该函数与前一个函数的唯一区别是,该函数会自动去掉传入的一系列参数中的null值。
    • mutableListOf():该函数返回可变的MutableList集合。该函数可接受0个或多个参数,这些参数将作为集合的元素。
    • arrayListOf():该函数返回可变的ArrayList集合。该函数可接受0个或多个参数,这些参数将作为集合的元素。
        //创建不可变集合,返回值是List
        var list1 = listOf("Java", "Kotlin", null, "Go")
        println(list1)
        println("listOf的返回对象的实际类型:${list1.javaClass}")
        //创建不可变集合,返回值是list
        var list2 = listOfNotNull("Java", "Kotlin", null, "Go")
        println(list2)
        println("listOfNotNull的返回对象的实际类型:${list2.javaClass}")
        //创建可变集合,返回值是MutableList
        var mutableList = mutableListOf("Java", "Kotlin", null, "Go")
        println(mutableList)
        println("mutableListOf的返回对象的实际类型:${mutableList.javaClass}")
        //创建ArrayList集合
        var arrayList = arrayListOf("Java", "Kotlin", null, "Go")
        println(arrayList)
        println("arrayListOf的返回对象的实际类型:${arrayList.javaClass}")
    

    输出结果:

    [Java, Kotlin, null, Go]
    listOf的返回对象的实际类型:class java.util.Arrays$ArrayList
    [Java, Kotlin, Go]
    listOfNotNull的返回对象的实际类型:class java.util.ArrayList
    [Java, Kotlin, null, Go]
    mutableListOf的返回对象的实际类型:class java.util.ArrayList
    [Java, Kotlin, null, Go]
    arrayListOf的返回对象的实际类型:class java.util.ArrayList
    

    二、使用List的方法

    List除了支持Set所支持的操作外,还增加了通过索引操作集合元素的方法。

    • get:带operator修饰的方法,因此可用"[]"运算符访问集合元素。
    • indexOf:返回集合元素在List中的索引。
    • lastIndexOf:返回集合元素在List中最后一次的出现位置。
    • subList:返回List集合的子集合。
        //创建不可变集合,返回值是List
        var list1 = listOf("Java", "Kotlin", null, "Go")
        for (i in list1.indices) {
            println(list1[i])
        }
        //获取指定元素的出现位置
        println(list1.indexOf("Kotlin"))
        //获取List的子集合
        println(list1.subList(1, 3))
    

    输出结果:

    Java
    Kotlin
    null
    Go
    1
    [Kotlin, null]
    

    三、可变的List

    可变的List除了支持可变的Set所支持的方法外,还增加了根据索引执行插入、删除、替换的方法。

        //创建不可变集合,返回值是List
        var list1 = mutableListOf("Java", "Kotlin", null, "Go")
        //在索引2处插入一个新元素
        list1.add(2, "Java")
        println(list1)
        //删除索引1处的元素
        list1.removeAt(1)
        println(list1)
        //将索引1处的元素替换为"Python"
        list1[1] = "Python"
        println(list1)
        //清空List集合的所有元素
        list1.clear()
        println(list1.count())
    

    输出结果:

    [Java, Kotlin, Java, null, Go]
    [Java, Java, null, Go]
    [Java, Python, null, Go]
    0
  • 相关阅读:
    强化学习
    详解a标签中href=""的几种用法 锚点
    使用Django自带的登录访问限制login_required
    ValueError: invalid literal for int() with base 10: ''
    Django 中创建Model时报以下错误: TypeError: init() missing 1 required positional argument: ‘on_delete’
    bootstrp实现同一界面多个模态框
    第十二章 Django框架开发
    Python format 格式化函数
    Python3.x在django中如何设置Content-Disposition,才能让浏览器正确保存中文命名的文件?
    python中的*和**参数传递机制
  • 原文地址:https://www.cnblogs.com/it-tsz/p/11651545.html
Copyright © 2011-2022 走看看