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

html5响应式网站模版百度一下你就知道了

html5响应式网站模版,百度一下你就知道了,淄博网站优化推广,建立企业网站的目的使用集合是开发中最重要的任务之一。在前面的主题中,你已经学会了如何选择集合的元素、对它们进行排序,甚至进行分组或根据需要进行转换。 在本主题中,我们将探索一些 Kotlin 方法,这些方法可以让你更轻松地获取集合中的元素&…

使用集合是开发中最重要的任务之一。在前面的主题中,你已经学会了如何选择集合的元素、对它们进行排序,甚至进行分组或根据需要进行转换。

在本主题中,我们将探索一些 Kotlin 方法,这些方法可以让你更轻松地获取集合中的元素,从而帮助你更高效地操作集合。


Slice(切片)

切片 是一个基本操作:它根据索引返回集合中某个范围的元素。

如果你使用 slice() 方法,就可以根据索引范围或具体的索引集合获取一个新的集合。返回的是一个新集合,包含给定索引处的元素。

fun main() {val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)// 使用切片和范围获取第 1 到第 5 个元素println(list.slice(0..4)) // 输出:[1, 2, 3, 4, 5]// 使用范围和步长获取第 1 到第 5 个元素(间隔为2)println(list.slice(0..5 step 2)) // 输出:[1, 3, 5]// 使用倒序和步长获取第 5 到第 1 个元素println(list.slice(4 downTo 0 step 2)) // 输出:[5, 3, 1]// 使用指定索引集合获取元素println(list.slice(listOf(0, 2, 4))) // 输出:[1, 3, 5]
}

Take 和 Drop

有时你想获取集合的元素但又不想使用索引。这时就可以使用 take 系列方法:

  • take(n):从集合开始位置起获取前 n 个元素,如果 n 超出集合长度,则返回整个集合。

  • takeLast(n):从集合末尾获取最后 n 个元素。

  • takeWhile { 条件 }:从第一个元素开始,持续获取满足条件的元素,直到遇到第一个不满足条件的元素为止。

  • takeLastWhile { 条件 }:从最后一个元素开始,持续获取满足条件的元素,直到遇到第一个不满足条件的元素为止。

fun main() {val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)println(list.take(5))              // [1, 2, 3, 4, 5]println(list.takeLast(5))          // [6, 7, 8, 9, 10]println(list.takeWhile { it < 5 }) // [1, 2, 3, 4]println(list.takeLastWhile { it > 5 }) // [6, 7, 8, 9, 10]
}

对应地,也有 drop 系列方法,它们用于跳过元素

  • drop(n):跳过前 n 个元素,返回剩下的。

  • dropLast(n):跳过最后 n 个元素,返回剩下的。

  • dropWhile { 条件 }:从第一个元素开始,跳过所有满足条件的元素,直到遇到不满足条件的第一个元素为止。

  • dropLastWhile { 条件 }:从最后一个元素开始,跳过所有满足条件的元素,直到遇到不满足条件的第一个元素为止。

fun main() {val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)println(list.drop(5))                 // [6, 7, 8, 9, 10]println(list.dropLast(5))             // [1, 2, 3, 4, 5]println(list.dropWhile { it < 5 })    // [5, 6, 7, 8, 9, 10]println(list.dropLastWhile { it > 5 })// [1, 2, 3, 4, 5]
}

Chunked(分块)

在实际开发中,我们经常需要将集合划分为固定大小的部分。chunked() 方法就是用来实现这种划分的。

该函数接收一个整数参数表示块的大小,并返回一个由列表组成的列表,每个子列表的大小为指定值。如果最后一组不足块大小,也会照样返回。

你还可以传入一个 lambda 表达式对每个块进行转换。

fun main() {val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)// 每3个为一组进行分块println(list.chunked(3)) // 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]// 每3个为一组,将每组求和println(list.chunked(3) { it.sum() }) // 输出:[6, 15, 24, 10]// 每3个为一组,将每组转换成字符串println(list.chunked(3) { it.joinToString() }) // 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}

Windowed(滑动窗口)

你还可以通过 windowed() 函数从集合中获取所有可能的固定大小子区间(窗口),相比 chunked(),这个函数更灵活。

参数说明:

  • size:窗口大小,即每个子列表的元素个数。

  • step:滑动步长,表示每个窗口之间第一个元素的间隔,默认为1。

  • partialWindows:是否保留末尾不足窗口大小的子集,默认为 false。

你也可以传入 lambda 表达式对每个窗口进行处理。

fun main() {val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)// 窗口大小为3,步长为1(默认)println(list.windowed(3)) // 输出:[[1, 2, 3], [2, 3, 4], ..., [8, 9, 10]]// 窗口大小为3,步长为3println(list.windowed(3, 3)) // 输出:[[1, 2, 3], [4, 5, 6], [7, 8, 9]]// 步长为4,partialWindows = falseprintln(list.windowed(3, 4, false)) // 输出:[[1, 2, 3], [5, 6, 7]]// 步长为4,partialWindows = trueprintln(list.windowed(3, 4, true)) // 输出:[[1, 2, 3], [5, 6, 7], [9, 10]]// 窗口求和println(list.windowed(3, 4, true) { it.sum() }) // 输出:[6, 18, 19]
}

小结

在本主题中,你学习了几种从集合中获取元素的方法:

  • 使用 slice() 根据索引提取元素;

  • 使用 take() 获取前 n 个元素;

  • 使用 drop() 跳过前 n 个元素;

  • 使用 chunked() 将集合分成固定大小的部分;

  • 使用 windowed() 滑动地提取子集合。


http://www.dtcms.com/wzjs/243632.html

相关文章:

  • 佛山网站建设多少钱站内关键词排名优化软件
  • 做营销型网站服务南京网站设计优化公司
  • 网站建设公司优惠大酬宾活动电子商务网站建设的步骤
  • 做网站的好处在哪里网站seo检测工具
  • 怎么评价网站的好坏网络管理系统
  • 建公司网站流程关键词收录查询工具
  • 网站开发时如何设计英文版本爱战网关键词
  • 如何自建网站做淘客市场营销方案范文5篇
  • 韩国在中国做美食的视频网站长沙百度搜索网站排名
  • 建设网站要求google推广一年3万的效果
  • 哈尔滨网站制作哪家好薇潍坊网站建设平台
  • 做p2p网站卖赚钱吗论坛推广平台有哪些
  • 四川建设厅网站登录不上咋办店铺推广方案怎么写
  • 重庆市建设工程信息网查证件网站seo优化外包
  • 做网站做本地服务器吗排名推广网站
  • 晨光科技 网站建设昆明网络推广
  • 河南免费网站建设公司最新新闻今天最新新闻
  • 泉州彩票网站建设合肥网站优化方案
  • 网站开发毕业设计摘要范文企业网站建设多少钱
  • 简述网站的建设步骤简述网站推广的意义和方法
  • 做外汇查哪个网站在线工具seo
  • 做网站设计所遇到的问题班级优化大师免费下载安装
  • 在哪里能找到做网站的人关键词排名优化营销推广
  • 网站导航素材下载在线外链工具
  • 做西服的网站谷歌应用商店下载
  • 个人网站如何赚钱谷歌seo技巧
  • 四川做网站找谁百度手机app下载安装
  • jsp是否可以做网站百度手机助手下载安卓
  • 棋牌网站开发网络推广网站电话
  • 重庆网站APP商旅平台app下载