从 Kotlin 中的数组中删除重复项

Posted Misdirection_XG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从 Kotlin 中的数组中删除重复项相关的知识,希望对你有一定的参考价值。

在这篇文章中,我们将学习如何在 Kotlin 中从数组中删除重复项。由于在 Kotlin 中有很多方法可以从数组中删除重复项,因此我们可以根据用例决定使用哪一种。

我们可以使用以下任何函数从 Kotlin 中的数组中删除重复项:

  • distinct()
  • toSet()
  • toMutableSet()
  • toHashSet()

让我们开始一个一个例子来学习。

考虑如下data类Mentor:

data class Mentor(val id: Int, val name: String)

并且,array一个Mentor:

val mentors = arrayOf(
    Mentor(1, "Amit Shekhar"),
    Mentor(2, "Anand Gaurav"),
    Mentor(1, "Amit Shekhar"),
    Mentor(3, "Lionel Messi"))

使用删除重复项distinct()

在 Kotlin 中,我们可以使用distinct()Collection 函数中可用的函数来删除重复项。

val distinct = mentors.distinct()
println(distinct)

这将打印以下内容:

[Mentor(id=1, name=Amit Shekhar),
Mentor(id=2, name=Anand Gaurav),
Mentor(id=3, name=Lionel Messi)]

笔记:

  • 保持物品的原始顺序。
  • 在给定数组的相等元素中,只有第一个元素会出现在输出中。
  • 返回List

在这里,正如我们使用它从数组中删除重复的导师一样,我们可以使用它从数组中删除重复的字符串。

使用删除重复项toSet()

在 Kotlin 中,我们可以使用toSet()Collection 函数中可用的函数来删除重复项。

val toSet = mentors.toSet()
println(toSet)

这将打印以下内容:

[Mentor(id=1, name=Amit Shekhar),
Mentor(id=2, name=Anand Gaurav),
Mentor(id=3, name=Lionel Messi)]

笔记:

  • 保持物品的原始顺序。
  • 返回Set这是一个read-only集合。这意味着我们不能像add在集合上那样执行操作。接下来,我们将查看toMutableSet()哪些返回read/write集。

使用删除重复项toMutableSet()

在 Kotlin 中,我们可以使用toMutableSet()Collection 函数中可用的函数来删除重复项。

val toMutableSet = mentors.toMutableSet()
println(toMutableSet)

这将打印以下内容:

[Mentor(id=1, name=Amit Shekhar),
Mentor(id=2, name=Anand Gaurav),
Mentor(id=3, name=Lionel Messi)]

笔记:

  • 保持物品的原始顺序。
  • 返回MutableSet这是一个read/write集合。这意味着我们可以像add对可变集执行操作。

使用删除重复项toHashSet()

在 Kotlin 中,我们可以使用toHashSet()Collection 函数中可用的函数来删除重复项。

val toHashSet = mentors.toHashSet()
println(toHashSet)

这将打印以下内容:

[Mentor(id=3, name=Lionel Messi),
Mentor(id=1, name=Amit Shekhar),
Mentor(id=2, name=Anand Gaurav)]

笔记:

  • 类似于MutableSet但不保持项目的原始顺序。
  • 返回HashSet

在这里,正如我们使用它从数组中删除重复的导师一样,我们可以使用它从数组中删除任何重复的元素,如字符串、数字等。

因此,我们了解了如何在 Kotlin 中从数组中删除重复项。

现在就是这样。

谢谢

以上是关于从 Kotlin 中的数组中删除重复项的主要内容,如果未能解决你的问题,请参考以下文章

测试字符串是不是包含字符串数组中的任何内容(kotlin)

删除列表适配器中的重复项

kotlin数组和集合

每天学一点 Kotlin -- 集合:MutableMap

如何从 Kotlin DSL build.gradle 中的所有依赖项中排除库?

从 Kotlin MultiPlatform (KMM) 中的共享类中读取字符数组