kotlin: sequence的四种创建方式

一,代码:

        //处理按钮点击事件
        binding.button1.setOnClickListener {
                //从现有集合转换
                val list = listOf(1, 2, 3)
                val seq1 = list.asSequence()
                println("seq1")
                seq1.forEach {
                    print(it)
                    print(",")
                }
                print("\n")
            
                //使用 sequenceOf 函数
                val seq2 = sequenceOf(1, 2, 3, 4)
                println("seq2")
                seq2.forEach {
                    print(it)
                    print(",")
                }
                print("\n")

                //使用 sequence 构建器
                val seq3 = sequence {
                    yield(1) // 生成单个元素
                    yieldAll(listOf(2, 3)) // 生成多个元素
                    yieldAll(generateSequence(4) { it + 1 }.take(4)) // 生成无限序列(需配合 take 使用)
                }
                println("seq3")
                seq3.forEach {
                     print(it)
                     print(",")
                }
                print("\n")

                // 使用生成器创建
                val seq4 = generateSequence(1) { it + 1 } // 无限序列
                    .take(10)
                println("seq4")
                seq4.forEach {
                    print(it)
                    print(",")
                }
                print("\n")
        }

二,运行结果:

image

 

posted @ 2025-08-09 13:41  刘宏缔的架构森林  阅读(8)  评论(0)    收藏  举报