迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Kotlin 中初始化列表的终极指南

作者:迹忆客 最近更新:2023/05/10 浏览次数:

Kotlin List<T> 指的是多个元素的集合。 语法中的 <T> 表示未定义的数据类型。 这意味着使用 List<T> 初始化的列表没有特定的数据类型。

我们可以随时使用 Collections 类中的预定义函数轻松访问和修改 List 中的项目。

我们可以在 Kotlin 中初始化两种类型的列表,它们是不可变的和可变的。 有不同的方法来初始化这些列表,我们将在本文中看到它们。


在 Kotlin 中初始化不可变列表

不可变列表是一旦创建就无法更改的集合。 它们使用 List 接口定义,并由 List 实现类(如 List 和 ArrayList)表示。

我们将学习三种初始化不可变列表的方法。 这三种方法包括以下内容:

  1. listOf()
  2. emptyList()
  3. listOfNotNull()

使用 listOf() 函数初始化 Kotlin 列表

listOf() 是 Collections 类中的顶级函数。 此方法创建一个不可变的项目列表。 它类似于 Java 中 Arrays.asList 的使用。

您可以使用以下语法初始化不可变的 Kotlin 列表。

val listName = listOf(item1, item2, item3)

现在,我们将使用上述语法创建一个简单的 Kotlin 程序。 在这个程序中,我们将创建一个名为 Fruits 的不可变 Kotlin 列表,并添加一些水果。

fun main(args: Array<String>) {
    val Fruits = listOf("Apple", "Mango", "Strawberry")
    println(Fruits)
}

创建和初始化 Kotlin 列表

这是一个不可变的列表。 因此,使用预定义方法更改列表将导致错误。

我们将通过使用 add() 函数尝试将一个元素添加到我们在上一个示例中定义的相同不可变列表中来看到这一点。

fun main(args: Array<String>) {
    val Fruits = listOf("Apple", "Mango", "Strawberry")
    println(Fruits)
    Fruits.add("Kiwi")
    println(Fruits)
}

向不可变列表添加新元素会引发错误

正如我们在输出中看到的,add() 方法抛出一个未解析的引用:添加错误。

使用 emptyList() 函数初始化 Kotlin 列表

另一种创建不可变 Kotlin 列表的方法是使用 emptyList() 函数。 它的工作方式类似于 listOf() 函数,唯一的区别是它创建一个空列表。

这意味着它将创建一个列表,但不会进行初始化,因为列表是空的。

使用 emptyList() 函数的语法如下:

val listName: List<String/Int> = emptyList()

下面的程序演示了如何使用 emptyList() 在 Kotlin 中创建一个空的不可变列表。

fun main() {
    val emptyImmutableList: List<String> = emptyList()
    println(emptyImmutableList)
}

使用 emptyList() 函数创建一个空列表

使用 listOfNotNull() 函数初始化 Kotlin 列表

listOfNotNull() 函数从现有集合中返回一个不为空的新列表。

如果您有一个包含一些字符串和一些空值的列表,此方法将为您提供一个仅包含字符串值的新列表。 但是如果列表只有空值,函数将返回一个空列表。

结果列表是只读的。 因此,listOfNotNull() 函数用作初始化不可变 Kotlin 列表的一种方式。

这是 listOfNotNull() 函数的语法。

fun <T : Any> listOfNotNull(element: T?): List<T>

在下面的程序中,我们将创建三个列表。 第一个将只有空值,第二个将只有非空值,第三个将混合使用空值和非空值。

fun main(args: Array<String>) {
    val nullValuesList = listOfNotNull(null, null)
    println(nullValuesList)

    val nonNullValuesList = listOfNotNull(13, "Hello", "Hi", 96)
    println(nonNullValuesList)

    val mixList = listOfNotNull(13, null, "Hello", null, 96)
    println(mixList)
}

使用 listOfNotNull() 函数初始化没有空值的列表

第一个 println() 函数产生一个空列表,因为第一个列表 nullValuesList 中只有两个空值。 第二个 println() 函数打印第二个列表 nonNullValuesList 的所有元素,因为它只有非空值。

但是,第三个 println() 函数打印一个列表,其中仅包含来自 mixList 的非空值。


在 Kotlin 中初始化可变列表

可变列表是可更改的集合,我们可以在需要时访问和更改它们。 本节将介绍两种初始化 Kotlin 列表的方法。

我们将通过以下两种方法:

  1. mutableListOf()
  2. arrayListOf()

使用 mutableListOf() 函数初始化 Kotlin 列表

初始化可变 Kotlin 列表的第一种方法是使用 mutableListOf() 方法。 与 listOf() 函数一样,mutableListOf() 也允许创建和初始化 Kotlin 列表。

但是,此函数会创建一个可变列表,这意味着您可以在此列表中添加或删除元素。

mutableListOf() 的语法是:

var listName = mutableListOf(item1, item2, item3)
We will create a Kotlin program below to create and initialize a mutable list named Fruits. Next, we will add a new element to the list and remove another item.

fun main(args: Array<String>) {
    var Fruits = mutableListOf("Apple", "Mango", "Strawberry")
    println(Fruits)

    // Adding a new element to the list
    Fruits.add("Kiwi")
    println(Fruits)

    // Removing an element from the list
    Fruits.remove("Mango")
    println(Fruits)
}

创建和初始化可变列表

正如我们在输出中看到的,这次 add() 函数没有抛出未解决的引用错误。 这是因为我们创建的列表是可变的。

使用 arrayListOf() 函数初始化 Kotlin 列表

另一种初始化可变 Kotlin 列表的方法是使用 arrayListOf() 函数。 此方法创建并初始化一个数组。

arrayListOf() 函数的语法是:

var listName = arrayListOf(item1, item2, item3)

我们将使用上述语法创建一个名为 Cars 的可变 Kotlin ArrayList,并使用一些汽车品牌对其进行初始化。 然后我们将向 ArrayList 添加新元素以确认它是可变的。

fun main(args: Array<String>) {
    var Cars = arrayListOf("Mercedes Benz", "BMW", "Bentley")
    println(Cars)

    Cars += listOf("Ferrari", "Lamborghini")
    println(Cars)
}

创建和初始化可变数组列表

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

在 Kotlin 中继承具有多个构造函数的类

发布时间:2023/05/12 浏览次数:200 分类:Java

本文讨论如何扩展具有多个构造函数的类。 构造函数是在创建对象时调用的函数,用于初始化类变量。在 Kotlin 中扩展具有多个构造函数的类

Kotlin中栈数据结构的使用

发布时间:2023/05/12 浏览次数:130 分类:Java

本篇文章我们就来学习一下Kotlin中栈的使用。 我们还将看到用于更新和更改 Kotlin 堆栈的标准函数,包括 push、pop、peek、search 和 isEmpty。我们还将研究比 Kotlin 中的堆栈更好的替代方案。

Kotlin中findViewById函数的使用

发布时间:2023/05/12 浏览次数:183 分类:Java

Kotlin 中的 findViewById 允许在 ID 的帮助下查看和更新视图。 本文介绍了 Kotlin 中 findViewById 函数的使用。

在 Kotlin 中实现构建器模式

发布时间:2023/05/12 浏览次数:106 分类:Java

构建器模式为对象创建问题提供了灵活性。 本文演示了如何在 Kotlin 中实现构建器模式。

Kotlin Init 和构造函数之间的区别

发布时间:2023/05/12 浏览次数:67 分类:Java

构造函数和 Kotlin init 块是这种编程语言的重要组成部分。 本文概述了 init 和构造函数之间的区别。

Kotlin 私有构造函数

发布时间:2023/05/12 浏览次数:130 分类:Java

Java 允许通过将其设为私有来隐藏构造函数。 本文讨论如何在 Kotlin 中实现相同的私有构造函数。

在 Kotlin 中获取 SimpleName

发布时间:2023/05/12 浏览次数:154 分类:Java

本文介绍了在 Kotlin 中获取类的 SimpleName 的简单方法。 它显示了与 Java 的 getSimpleName() 方法等效的方法。

在 Kotlin 中将字符串拆分为数组

发布时间:2023/05/12 浏览次数:111 分类:Java

本教程将展示如何在 Kotlin 中将字符串拆分为字符串数组。 如上所述,您可以使用此技术通过从字符串数组中检索关键字来在应用程序中进行搜索。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便