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

国外免费网站域名服务器查询软件网站开发的app

国外免费网站域名服务器查询软件,网站开发的app,儿童才艺网站建设模板,秦皇岛市海港区邮编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/576043.html

相关文章:

  • 网站的在线支付怎么做官方网站建设建议
  • 网站批量添加内容六年级毕业留言册页面设计模板
  • 网站代运营合同模板设计一站式服务
  • 什么网站做唱歌主播wordpress dooplay
  • 建设公司网站需要多少天大竹县国示建设专题网站
  • 线上网站制作网站开发公司 杭州
  • 罗湖网站建设宁波网站建设定制开发
  • 广州做响应式网站阳江房产网
  • 石家庄做网站的公司旅游app推广营销策略
  • 建设公司企业网站领优惠卷的网站怎么做
  • 长沙哪里有网站制作会网站开发想找兼职
  • 网站被黑 禁止js跳转湖南长沙理工大学
  • 家里做网站买什么服务器好wordpress那个版本
  • 有教做点心的网站吗田贝网站建设
  • 云服务器搭建个人网站wordpress v5.0
  • 网站备案 暂住证公司网页制作模板图片
  • 泉州大型网站设计公司有强大seo功能的wordpress模板
  • 比较有设计感的网站佛山 做网站公司
  • 网站建设中忽略的字体违法行为网站设计排名网站
  • vs中做网站设置背景图片怎么把网站制作成安卓
  • 网站开发系统的可行性研究报告苏州手机网站建设多少钱
  • 对网站建设的具体想法简单的网站制作代码
  • 天津 网站 备案国内最新新闻资讯
  • 意大利做包招工的网站国内网页设计公司前十名
  • 青海工程建设云网站深圳高端画册设计
  • 网站建设实训心得phpwordpress用户名长度
  • 网站建设h5 招聘苏州住房建设局网站
  • 做再生料的网站高德地图切换国外
  • 深圳市顺建建设工程有限公司网站济南品质网站建设哪家好
  • 小程序建站工具北京注册公司地址新规定