Kotlin 集教程展示了如何在 Kotlin 中使用集。 集合是元素的一般无序集合,不允许重复。
Kotlin 区分只读集和可变集。 用setOf()
创建只读集,用mutableSetOf()
设置可变集。
Kotlin setOf()
setOf()
方法在 Kotlin 中创建一个新的只读集。
KotlinSetOf.kt
该示例使用setOf()
创建一组新单词。 集合的大小由size
属性确定。
集合不能包含重复的元素。
KotlinSetNoDuplicates.kt
即使我们在setOf()
中添加了两支笔,也只有一支笔。
这是输出。
Kotlin 集合基础知识
在下一个示例中,我们有一个简单的 Kotlin Set 示例。
KotlinSetBasic.kt
该示例创建了一组数字并计算了一些统计信息。
使用setOf()
功能创建 Kotlin 只读集。
我们计算值的数量,最大值,最小值,总和和平均值。
这是输出。
Kotlin 集合索引
集合中的每个元素都有一个索引。 Kotlin 集索引从零开始。 最后一个元素的索引为len-1
。
KotlinSetIndex.kt
该示例介绍了 Kotlin Set 索引操作。
使用elementAt()
方法检索元素。 该方法将要检索的元素的索引作为参数。
indexOf()
返回单词在集合中首次出现的索引。
lastIndexOf()
返回该单词在集合中最后一次出现的索引。
这是输出。
Kotlin 集合大小
count()
方法返回集合中的元素数。
KotlinSetCount.kt
该示例返回集合中值的数量,负值的数量和偶数的数量。
我们可以使用count()
方法或size
属性来确定集合中元素的数量。
count()
可以将谓词功能作为参数。 在我们的情况下,它对于小于 0 的值返回 true。
我们得到集合中偶数的数量。
这是输出。
Kotlin 集合第一个和最后一个元素
我们有方法来获取集合的第一个和最后一个元素。
KotlinSetFirstLast.kt
该示例创建了一组单词。 我们得到集合的第一个和最后一个元素。
我们用first()
获得第一个元素。
我们用last()
获得最后一个元素。
我们以findLast()
检索以’d’开头的集合的最后一个元素。
我们以first()
检索以’d’开头的集合的第一个元素。
这是输出。
Kotlin 集合迭代
Set 迭代或 Set 循环是一个遍历 set 元素的过程。
KotlinSetIterate.kt
该示例显示了在 Kotlin 中循环播放集合的五种方法。
forEach()
对每个设置的元素执行给定的动作。 我们为它传递了一个匿名函数,该函数将打印当前元素。
我们用for
循环设置。 for
循环逐个遍历设置的元素; 在每个循环中,word
变量指向集合中的下一个元素。
另一种for
循环利用集合的大小。 until
关键字创建一系列设置的索引。
使用forEachIndexed()
方法,我们遍历具有每次迭代可用索引和值的集合。
最后一种方法是使用Iterator
和while
循环。
这是输出。
Kotlin 集合排序
以下示例显示如何在 Kotlin 中对 Set 值进行排序。 由于使用setOf()
创建的集合是只读的,因此这些方法不会更改集合,而是返回新的修改后的列表。
Car.kt
这是一个Car
bean。
KotlinSetSorting.kt
该示例按升序和降序对集合值进行排序,反转集合元素,并按名称对汽车对象进行排序。
sorted()
方法返回根据自然排序顺序排序的所有元素的列表。
sortedDescending()
方法返回所有元素按照其自然排序顺序降序排列的列表。
reversed()
方法返回具有相反顺序元素的列表。
我们创建了一组汽车对象。 这些对象可以按名称或价格排序。
使用sortedBy()
,我们按名称对汽车进行升序排序。
使用sortedByDescending()
,我们按名称对汽车进行降序排序。
这是输出。
Kotlin 集合包含
使用contains()
方法,我们可以检查集合中是否包含指定的元素。
KotlinSetContains.kt
可以检查一组是否包含一个或多个元素。
在这里,我们检查nums
集是否包含 4。该方法返回布尔值。
此行检查集合是否包含两个值:1 和-1。
这是输出。
Kotlin 可变集合
使用mutableSetOf()
,我们可以在 Kotlin 中创建可变集合。
KotlinListMutable.kt
该示例创建一个可变集并介绍其几种方法。
我们创建了三个整数元素的可变集合。
add()
在集合的末尾添加一个新元素。 addAll()
在集合的末尾添加了多个元素。
clear()
方法从集合中删除所有元素。
使用isEmpty()
方法,我们检查集合是否为空。
这是输出。
Kotlin 并集
联合操作返回一个集合,其中包含两个集合中的所有不同元素。
KotlinSetUnion.kt
在示例中,我们有两组整数。 我们将集合与union()
方法结合在一起。
这是输出。
Kotlin 集合最大值
以下示例显示如何查找集合的最大值。
Car.kt
这是一个Car
bean。
KotlinSetMax.kt
该示例查找一组整数和一组汽车对象的最大值。
使用max()
可以轻松找到一组整数的最大值。
处理对象时,需要指定用于查找最大值的属性。 maxBy()
方法具有选择器功能,用于选择汽车的price
属性。
这是输出。
Kotlin 集合过滤器
过滤是一种操作,只有满足某些条件的元素才能通过。
Car.kt
这是一个Car
bean。
KotlinListFilter.kt
该示例介绍了对 Kotlin 集的过滤操作。
filter()
方法采用谓词功能作为参数。 谓词给出了元素必须满足的条件。 我们过滤掉长度等于 3 的单词。
filterNot()
的作用相反:它允许通过不符合给定条件的元素。
这些行过滤掉价格大于 10000 的汽车对象。
这是输出。
Kotlin 集合映射
映射操作通过在集合的每个元素上应用转换函数来返回修改后的列表。
KotlinListMap.kt
我们有一组整数。 使用map()
方法,我们将每个 set 元素乘以 2。该方法将重建一个新列表。
这是示例输出。
Kotlin 集合归约
精简是一种终端操作,可将设置值聚合为单个值。 reduce()
方法对一个累加器和每个元素(从左到右)应用一个函数,以将其减小为单个值。
KotlinSetReduce.kt
在示例中,我们对一组整数使用 reduce 操作。
我们计算值的总和。 total
是累加器,next
是列表中的下一个值。
这是输出。
Kotlin 集合折叠
折叠操作类似于缩小操作。 折叠是将设置值聚合为单个值的终端操作。 区别在于折叠从初始值开始。
KotlinSetFold.kt
我们有一套费用。 这些费用适用于初始可用现金金额。
利用fold()
,我们从cash
推算出所有费用,并返回剩余值。
这是我们减去可用金额的所有费用后的余额。
Kotlin 集合分块
有时候,在进行约简时,我们需要处理集合中的更多元素。 我们可以使用chunked()
方法将集合分成列表列表。
KotlinSetChunked.kt
在示例中,我们有一组六个值。 我们要实现以下操作:1*2 + 3*4 + 5*6
。 为此,我们需要将列表分成两个值的块。
我们将集合拆分为两个元素的列表,然后对其进行折叠。 next
是我们可以在其中使用索引操作的列表。
这是示例的输出。
Kotlin 集合分区
分区操作将原始集合拆分为成对的列表。 第一个列表包含其指定谓词产生 true 的元素,而第二个列表包含其谓词产生 false 的元素。
KotlinSetPartition.kt
我们有一组整数。 使用partition()
方法,我们将集合分为两个子列表: 一个包含负值,另一个包含正值。
使用解构声明,我们将集合一次性分成两部分。
这是输出。
Kotlin 集合分组
groupBy()
方法通过给定选择器函数返回的键将原始元素集应用于每个元素。 它返回一个映射,其中每个组键都与对应元素的列表相关联。
KotlinSetGroupBy.kt
该示例显示了如何使用groupBy()
方法。
这些行创建了一个地图,该地图具有两个键:“偶数”和“奇数”。 “偶数”指向偶数值列表,“奇数”指向奇数值列表。
在这里,我们创建一个带有整数键的映射。 每个关键字将具有一定长度的单词分组。
这是输出。
集合any()
如果至少一个元素与给定的谓词函数匹配,则any()
方法返回 true。
KotlinSetAny.kt
该示例显示any()
的用法。
在这里,我们检查该集合是否包含至少一个负值。 该方法返回一个布尔值。
集合all()
如果所有元素都满足给定的谓词功能,则all()
返回 true。
KotlinSetAll.kt
该示例显示all()
的用法。
在这里,我们测试nums
集是否仅包含正值。
Kotlin 集合删除
通过放置操作,我们从集合中排除了一些元素。
KotlinSetDrop.kt
该示例显示了不同放置操作的用法。
使用drop()
方法,我们排除了前三个元素。
使用dropWhile()
方法,我们排除了满足给定谓词功能的前 n 个元素。
使用dropLastWhile()
方法,我们排除了满足给定谓词功能的最后 n 个元素。
这是输出。
Kotlin 集合提取
提取操作是放置操作的补充。 take 方法通过选择一些 set 元素形成一个新列表。
KotlinSetTake.kt
该示例显示了各种 take 方法的用法。
take()
方法创建一个具有原始集合的前三个元素的新列表。
takeWhile()
采用满足谓词功能的前 n 个元素。
如果满足谓词函数中的条件,则takeIf()
方法将使用集合的所有元素。
这是输出。