kotlin 过滤集合中的特定的元素

kotlin提供了过滤集合很方便过滤集合中特定的元素

1 如果是同一种类型的操作,建议使用filter 或者是partition

例如过滤出字符长度大于3的元素

使用partition

复制代码
val numbers = listOf("one", "two", "three", "four")
        val (match, rest) = numbers.partition { it.length > 3 }
        // 打印结果 [three, four]
        Log.d("=======匹配符合条件match", match.toString())
        // 打印结果 [one, two]
        Log.d("=======匹配不符合条件rest", rest.toString())

使用filter

复制代码
val numbers = listOf("one", "two", "three", "four")
        val langThan3 = numbers.filter { it.length>3 }

如果集合中是不同的类型过滤出相同的类型建议使用filterIsInstance

复制代码
val numbers = listOf(null, 1, "two", 3.0, "four")
        // 过滤出集合中的int
        numbers.filterIsInstance<Int>().forEach {
            // 打印结果是1
            Log.d("=======int元素", it.toString())
        }
        // 过滤出集合中的String
        numbers.filterIsInstance<String>().forEach {
            // 打印结果是two, four
            Log.d("=======String元素", it)
        }
相关推荐
努力进修2 分钟前
【java-数据结构】Java优先级队列揭秘:堆的力量让数据处理飞起来
java·开发语言·数据结构
廋到被风吹走3 分钟前
【LangChain4j】Java 生态中最灵活、功能最强大的纯 Java 大模型应用开发框架(支持声明式@AiService与复杂RAG/Agent)
java·开发语言·python
艾克杏4 分钟前
初学Java之范型
java·开发语言
heartbeat..5 分钟前
java中常用的几种加密方式
java·开发语言
小碗羊肉6 分钟前
【从零开始学Java | 第三十九篇】 打印流
java·开发语言
晔子yy6 分钟前
[JAVA探索之路]带你手写多线程实现生产者-消费者模型
java·开发语言
你不是我我6 分钟前
【Java 开发日记】我们来讲一讲 MVCC 的实现原理
java·开发语言
ftpeak7 分钟前
网络爬虫Playwright Python 教程:从入门到实战
开发语言·爬虫·python·playwright
摸鱼界在逃劳模11 分钟前
Java的JDK下载与安装
java·开发语言
qq_120840937119 分钟前
Three.js 骨骼动画工程实战:AnimationMixer、剪辑与混合权重调参
开发语言·javascript·ecmascript