kotlin filter 过滤集合(filterIndexed,filterNot,filterIsInstance,filterNotNull)

这篇具有很好参考价值的文章主要介绍了kotlin filter 过滤集合(filterIndexed,filterNot,filterIsInstance,filterNotNull)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

filter 在kotlin中一个高阶函数属于过滤集合中其中之一

filter作用:

用于根据提供的谓词函数过滤出集合中的元素,注意谓词只能检查元素的值,谓词可以理解为判断条件

举例:检查集合中长度大于3的元素

val numbers = listOf("one", "two", "three", "four")
val langThan3 = numbers.filter { it.length>3 }
// 打印结果 [three, four]
Log.d("=======langThan3", langThan3.toString())

filterIndexed

如果想在过滤中使用元素在集合中的位置,应该使用 filterIndexed()。它接受一个带有两个参数的谓词:元素的索引和元素的值。

举例:检查长度小于5且不是第一个的元素

        val numbers = listOf("one", "two", "three", "four")
        val filteredIdx = numbers.filterIndexed { index, s -> (index != 0) && (s.length < 5)  }
//         打印结果[two, four]
        Log.d("=======filteredIdx", filteredIdx.toString())

filteredNot

filteredNot :否定条件来过滤集合

举例:检查长度不小于3的元素

        val numbers = listOf("one", "two", "three", "four")
        val filteredNot = numbers.filterNot { it.length <= 3 }
        //打印结果 [three, four]
        Log.d("=======filteredNot", filteredNot.toString())

filterIsInstance

filterIsInstance() 返回给定类型的集合元素。在一个 List<Any> 上被调用时,filterIsInstance<T>() 返回一个 List<T>, 从而让你能够在集合元素上调用 T 类型的函数。

举例:过滤集合中int,类型,String 类型

        val numbers = listOf(null, 1, "two", 3.0, "four")
        numbers.filterIsInstance<Int>().forEach {
            // 打印结果是1
            Log.d("=======int元素", it.toString())
        }
        numbers.filterIsInstance<String>().forEach {
            // 打印结果是two, four
            Log.d("=======String元素", it)
        }

filterNotNull

filterNotNull() 返回所有的非空元素文章来源地址https://www.toymoban.com/news/detail-774060.html

val numbers = listOf(null, "one", "two", null)
        numbers.filterNotNull().forEach {
            // 打印结果 one two
            Log.d("=======元素", it)
        }

到了这里,关于kotlin filter 过滤集合(filterIndexed,filterNot,filterIsInstance,filterNotNull)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 认识Filter(过滤器)

    Filter介绍 在计算机编程中,Filter(过滤器)是一种用于对数据流进行处理的软件组件。Filter 的作用是从输入流中获取数据,对其进行处理后再将其写入输出流中。Filter 组件通常用于数据校验、数据转换、数据压缩等方面,以及对网络通信进行处理。在 Web 开发中,Filter 是

    2024年02月02日
    浏览(47)
  • 过滤器Filter

    什么是Filter? Filter表示过滤器,是JavaWeb三大组件(Servlet、FIlter、Listener)之一。 过滤器可以把对资源的请求拦截下来,总而实现一些特殊的功能 使用过滤器后,要想访问web服务器上的资源,必须先经过过滤器,过滤器处理完毕后,才可以访问对应的资源。 过滤器一般完成

    2023年04月12日
    浏览(40)
  • java过滤器(Filter)

    原文链接: java过滤器(Filter – 编程屋 目录 1 过滤器简介 2 Filter详细介绍 3 Filter的用法 3.1 用法1  3.2 用法2 filter也称之为过滤器,它是javaWeb三大组件之一(Servlet程序、Listener监听器、Filter过滤器) 作用: 既可以对请求进行拦截,也可以对响应进行处理。 常见场景: 权限检

    2024年02月20日
    浏览(43)
  • [Java]过滤器(Filter)

    一、什么是过滤器 过滤器是Servlet的高级特性之一,是实现Filter接口的Java类! 过滤器的执行流程:   从上面的图我们可以发现,当浏览器发送请求给服务器的时候, 先执行过滤器,然后才访问Web的资源。服务器响应Response,从Web资源抵达浏览器之前,也会途径过滤器。 过滤

    2024年02月11日
    浏览(43)
  • 登陆接口的的Filter过滤

    目录 一、概述 二、基本操作  三、登陆检查接口 什么是Filter? Filter表示过滤器,是 JavaWeb三大组件(Servlet、Filter、Listener)之一。 过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能 使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完

    2024年02月11日
    浏览(46)
  • PHP伪协议filter详解,php://filter协议过滤器

    「作者主页」: 士别三日wyx 「作者简介」: CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」: 对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 php:// 用来访问输入和输出流(I/O streams)。 输入/输出流也就是 「数据流」

    2024年02月08日
    浏览(38)
  • SpringCloudGateway--过滤器(内置filter)

    目录 一、概览 二、内置过滤器 1、StripPrefix 2、AddRequestHeader 3、AddResponseHeader 4、DedupeResponseHeader 5、AddRequestParameter 6、CircuitBreaker 7、FallbackHeaders 8、RequestRateLimiter 9、RedirectTo 10、RemoveRequestHeader 11、RemoveResponseHeader 12、RemoveRequestParameter 13、RewritePath  14、RewriteResponseHeader  15、S

    2024年02月01日
    浏览(68)
  • uniapp 小程序 filters 过滤日期

    页面效果:

    2024年02月16日
    浏览(25)
  • JavaWeb 中 Filter过滤器

    @ 目录 Filter过滤器 每博一文案 1. Filter 过滤器的概述 2. Filter 过滤器的编写 3. Filter 过滤器的执行过程解析 3.1 Filter 过滤结合 Servlet 的使用 4. Filter 过滤器的拦截路径: 4.1 精确匹配路径 4.2 目录匹配 4.3 前后缀名路径匹配 4.4 所有路径匹配 5. 设置 Filter 执行顺序 6. Filter 过滤器中

    2024年02月03日
    浏览(52)
  • Fiddler过滤器 Filters 详解

    目录 前言: 一、 Hosts 过滤 (较常用) 二、Client Process 过滤(客户端进程过滤,通过配置只过滤/不过滤哪些进程的请求。用的不多) 三、Request Headers (根据请求头信息进行过滤。常用) 四、Breakpionts 设置断点(很少用,毕竟可以通过 bpu、bpafter以及改写规则js设置断点)

    2024年02月12日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包