当前位置: 首页 > wzjs >正文

网站空间没有续费品牌策划案

网站空间没有续费,品牌策划案,机械加工网上平台,wordpress文章标题Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、mapValues、flatten、flatMap 引言 在之前的主题中,我们学习了如何筛选(filter)和排序(sort)集合。然而,处理集合时最重要的任务之一是…

Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、mapValues、flatten、flatMap

引言

在之前的主题中,我们学习了如何筛选(filter)排序(sort)集合。然而,处理集合时最重要的任务之一是转换集合中的元素。本主题将教你如何使用 Kotlin 的转换函数将一个集合转换为另一个集合。


映射(Mapping)

map()
  • 用于将集合中的每个元素应用一个转换函数,返回一个新集合

  • 一对一转换:每个原始元素都对应一个转换后的元素。

示例:
val numbers = listOf(1, 2, 3)
println(numbers.map { it * 2 }) // [2, 4, 6]
mapIndexed()
  • map() 类似,但提供元素的 索引 作为额外参数。
val words = listOf("anne", "michael", "caroline")
println(words.mapIndexed { index, value ->if (index % 2 == 0) value.uppercase() else value
}) // [ANNE, michael, CAROLINE]
应用场景
  • 获取每个字符串长度:words.map { it.length }

  • 将字符串转为整数:listOf("1", "2", "3").map { it.toInt() }

  • 首字母大写:words.map { it.capitalize() }

  • 转换 Map 的键或值


可空类型的映射(Mapping with nullables)

如果某些元素无法转换,map() 会返回 null,集合变成 List<T?>。为避免 null,使用:

mapNotNull() / mapIndexedNotNull()
  • 自动过滤掉为 null 的结果,使结果为非空集合(List<T>)。
val numbers = listOf(1, 2, 3, 4, 5)
println(numbers.map { if (it % 2 == 0) it else null }) // [null, 2, null, 4, null]
println(numbers.mapNotNull { if (it % 2 == 0) it else null }) // [2, 4]

映射 Map 类型(Map Mapping)

Kotlin 的 Map 类型可以使用以下两种方法转换:

mapKeys()
  • 转换 Map 的 键
mapValues()
  • 转换 Map 的 值
val map = mapOf(1 to "one", 2 to "two")
println(map.mapKeys { it.key * 2 }) // {2=one, 4=two}
println(map.mapValues { it.value.uppercase() }) // {1=ONE, 2=TWO}

Flatten(扁平化)

flatten()
  • 把嵌套集合(List of Lists)展开成一个单一列表。
val nested = listOf(listOf(1,2), listOf(3,4))
println(nested.flatten()) // [1, 2, 3, 4]
flatMap()
  • map,再 flatten,适用于一对多转换
val nested = listOf(listOf(1,2), listOf(3,4))
println(nested.flatMap { it.map { it * 2 } }) // [2, 4, 6, 8]
  • 也可以用于 List<Map>
val listOfMaps = listOf(mapOf(1 to "one"), mapOf(2 to "two"))
val result = listOfMaps.flatMap { it.entries }.associate { it.toPair() }
println(result) // {1=one, 2=two}

总结(Conclusion)

我们学到了多种转换集合的方式:

功能方法
一对一转换map()
一对一+索引mapIndexed()
过滤 null 结果mapNotNull()
Map 键值转换mapKeys() / mapValues()
多对一flatten()
一对多flatMap()
http://www.dtcms.com/wzjs/332363.html

相关文章:

  • 美食网站建设背景介绍求网址
  • wordpress网站慢cilimao磁力猫
  • 网站建设证有免费大数据查询平台
  • 网站建设的一般流程排序为微信营销的方法7种
  • wordpress 鼠标特效安徽百度seo公司
  • 成都企业模版网站建设北京百度推广优化公司
  • 视频网站如何做营销seo网络优化平台
  • 清远网站关键词优化长沙网站推广工具
  • 武汉做网站公司推荐萝卜建站
  • 网站开发处理大量用户请求百度产品推广怎么收费
  • 拥有自己的网站 如何做推广长沙seo优化公司
  • 成都网站优化个人建网站的详细步骤
  • 政府平台公司哈尔滨优化推广公司
  • 网站建设vip服务天津关键词优化网排名
  • 在日本网站做推广渠道昆明seo工资
  • 合肥市网站建设公司近期新闻热点大事件
  • 春季高考网站建设平台推广是做什么的
  • 网站建设的创意网页设计与制作考试试题及答案
  • 外网访问wordpress版式不对北京优化网站建设
  • 用来做网页的软件郑州seo排名优化公司
  • 自己做ppt网站无锡seo关键词排名
  • 自己建网站卖东西好卖吗直播回放老卡怎么回事
  • wordpress换了空间无法登录密码南昌seo排名外包
  • 怎么做卡商网站网站建设与管理是干什么的
  • 上海做网站的公司是什么打开百度一下搜索
  • 网站老虎机怎么建设爱站关键词挖掘old
  • 移民网站制作科学新概念seo外链
  • 电子商务网站建设技术规范关键词排名的工具
  • 淘宝的网站怎么做的好处电商网页制作教程
  • 网站建设表格代码seo词库排行