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

24 篇文章 1 订阅
16 篇文章 0 订阅

在这篇文章中,我们将学习如何在 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 中从数组中删除重复项。

现在就是这样。

谢谢

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值