Kotlin中的序列

简介: Kotlin里面的集合式api和Java类似,但也有区别,Kotlin里面加入了可变和不可变的特性,例如可变集合MutableList,不可变的则是List,这部分的功能主要是和语言的特性相关联的,从Kotlin对于变量的定义中就可以看出来。

一、前言

Kotlin里面的集合式api和Java类似,但也有区别,Kotlin里面加入了可变和不可变的特性,例如可变集合MutableList,不可变的则是List,这部分的功能主要是和语言的特性相关联的,从Kotlin对于变量的定义中就可以看出来。

二、filter、map、flatMap、Sequence

  • filter

    用来筛选集合中的元素

    //创建一个集合将字符串h1找出来
    //下面就是采用filter的用法
    //括号里面为筛选条件
    //最后采用一个foreach打印出来
    //这里的foreach是方法引用,简化版的lambda,相当于println(it)
    
    val list = listOf("h1","h2","h3")
        .filter { it == "h2" }
        .forEach (::println)
    
    //结果为
    //h1
  • map

    接口是一个transfrom方法,我们可以在这里将集合中的元素进行格式化操作,比如打印hashcode

        val list = listOf("h1","h2","h3")
            .filter { it == "h2" }
            .map { it.hashCode() }
            .forEach(::println)
  • flatMap

    与map主要的区别就是,这个flatmap中接受的参数必须是list类型的,而map只需要单个元素即可

        val list = listOf("Hello","Wresource")
            .flatMap { listOf(it.uppercase())}
  • Sequence

    序列,这个kotlin独有的,与集合的操作类似,但底层实现方式更优,采用延迟化的方式执行,集合转化成它只需要

        val a = listOf("Hello","Wresource")
            //添加此方法即可
            .asSequence()
            .flatMap { listOf(it.uppercase())}

    加入我的技术社区,每天一起学习Kotlin。

    点击下方的logo即可加入kotlin开发者社区:

<img src="https://ucc.alicdn.com/images/user-upload-01/074943eea593491db21ac32d9a3da6e3.jpg" >


目录
相关文章
|
5月前
|
存储 Kotlin 索引
Kotlin中的数组
Kotlin中的数组
|
5天前
|
Java Kotlin
Kotlin - 区间与数组
Kotlin - 区间与数组
|
8天前
|
Java Kotlin
Kotlin教程笔记(4) - Kotlin - 区间与数组
Kotlin教程笔记(4) - Kotlin - 区间与数组
20 3
|
5月前
|
Kotlin 索引
Kotlin中的字符串基本操作
Kotlin中的字符串基本操作
254 3
|
18天前
|
Java Kotlin
Kotlin语法 - 区间与数组
本教程详细讲解Kotlin语法,适合深入学习。快速入门可参考“简洁”系列教程。本文重点介绍Kotlin中的区间与数组,包括区间声明、常用操作及数组创建、基本类型数组和常用操作。区间使用 `..` 和 `until` 声明,数组可通过 `Array` 类和 `arrayOfXXX()` 函数创建。更多详情请访问官方文档。
29 0
|
1月前
|
Java Kotlin
Kotlin教程笔记(4) - 区间与数组
Kotlin教程笔记(4) - 区间与数组
|
3月前
|
存储 Java Kotlin
Kotlin 字符串教程:深入理解与使用技巧
Kotlin中的字符串用于存储文本,定义时使用双引号包围字符序列,如`var greeting = &quot;Hello&quot;`。Kotlin能自动推断变量类型,但在未初始化时需显式指定类型,如`var name: String`。可通过索引访问字符串元素,如`txt[0]`获取首字符。字符串作为对象,拥有属性和方法,如`length`获取长度,`toUpperCase()`转大写。可使用`compareTo()`比较字符串,`indexOf()`查找子串位置。字符串中嵌入单引号表示文本内的引号,如`&quot;It&#39;s alright&quot;`。使用`+`或`plus()
47 3
|
3月前
|
存储 Java Kotlin
Kotlin 控制流和数组操作详解
Kotlin的`when`表达式提供了一种比`if..else`更清晰的方式来选择执行多个代码块之一,类似于Java的`switch`语句但更为强大和灵活。`while`循环允许在条件为真时重复执行代码块,而`do..while`循环则保证至少执行一次。`break`和`continue`可用于控制循环流程:前者终止循环,后者跳过当前迭代。数组则用于存储多个值,可以创建、访问、修改数组元素及遍历整个数组。这些构造使得编写简洁且高效的代码成为可能。
29 0
|
5月前
|
Kotlin
Kotlin函数
Kotlin函数
190 0
|
6月前
|
XML Java 开发者
预测一下 Kotlin 未来会有哪些新语法
预测一下 Kotlin 未来会有哪些新语法
73 0