kotlin take 和 drop

2024-01-08 06:52
文章标签 kotlin take drop

本文主要是介绍kotlin take 和 drop,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

kotlin take的作用

从头开始获取指定数量的元素

val numbers = listOf("one", "two", "three", "four", "five", "six")
// 取集合的4个集合
Log.d("======take", numbers.take(3).toString()) // 打印结果[one, two, three]

takeLast的作用

从尾开始获取指定数量的元素

val numbers = listOf("one", "two", "three", "four", "five", "six")
// 取集合的倒数4个集合
Log.d("======takeLast", numbers.takeLast(3).toString())  // 打印结果[four, five, six]

takeWhile的作用

它将不停获取元素直到排除与谓词匹配的首个元素。如果首个集合元素与谓词匹配,则结果为空。

val numbers = listOf("one", "two", "three", "four", "five", "six")// takeWhile不停获取元素直到排除与谓词匹配的首个元素Log.d("======takeWhile",numbers.takeWhile { !it.startsWith("f") }.toString()) // 打印结果[one, two, three]

takeLastWhile的作用

与 takeLast() 类似:它从集合末尾获取与谓词匹配的元素区间。区间的首个元素是与谓词不匹配的最后一个元素右边的元素。如果最后一个集合元素与谓词匹配,则结果为空。

val numbers = listOf("one", "two", "three", "four", "five", "six")Log.d("======takeLastWhile",numbers.takeLastWhile { it != "three" }.toString()) // 打印结果[four, five, six]

kotlin dropLast 的作用

从头去除给定数量的元素

val numbers = listOf("one", "two", "three", "four", "five", "six")//从头去掉第一个元素Log.d("======drop", numbers.drop(1).toString()) // 打印结果[two, three, four, five, six]

drop 的作用

从尾去除给定数量的元素

val numbers = listOf("one", "two", "three", "four", "five", "six")// 从尾去掉第一个元素Log.d("======dropLast", numbers.dropLast(1).toString()) // 打印结果[one, two, three, four, five]

dropWhile()的作用

与具有相同谓词的 takeWhile() 相反:它将首个与谓词不匹配的元素返回到末尾。

val numbers = listOf("one", "two", "three", "four", "five", "six")// 从尾去掉第一个元素Log.d("======dropWhile", numbers.dropWhile{it.length == 3}.toString()) // 打印结果[three, four, five, six]

dropLastWhile()的作用

与具有相同谓词的 takeLastWhile() 相反:它返回从开头到最后一个与谓词不匹配的元素。

val numbers = listOf("one", "two", "three", "four", "five", "six")Log.d("======dropLastWhile", numbers.dropLastWhile{it.contains('i')}.toString()) // 打印结果[one, two, three, four]

这篇关于kotlin take 和 drop的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/582616

相关文章

Kotlin高阶函数与Lambda表达式及内联函数的介绍

目录 1、高阶函数1.1、什么是高阶函数?1.1.1、不带返回值的高阶函数1.1.2、带参数且带返回值的高阶函数1.1.3、与一般的函数进行比较 1.2、如何使用?1.3、高阶函数有什么作用? 2、Lambda表达式2.1、什么是Lambda表达式?2.1.1、无参数的写法2.1.2、有参数的写法2.1.3、有参数且有返回值的写法 2.2、如何使用?2.3、Lambda表达式有什么作用? 3

android kotlin复习 Anonymous function 匿名函数

1、还是先上个图,新建kt: 2、代码: package com.jstonesoft.myapplication.testfun main(){val count = "helloworld".count()println(count);println("------------------------")var count2 = "helloworld".count(){it ==

android开发---Kotlin语言基础语法

目录 数据打印 变量 函数 程序逻辑控制   if  when 循环 数据打印 IDE采用的androidStudio 可自行官网下载 https://developer.android.google.cn/studio/archive?hl=zh-cn 新建项目 添加一个main方法,main()函数的左边出现了一个运行标志的小箭头。现在我们只要点击一下这个

Kotlin 范型之协变、逆变、不变

一. 前言 Kotlin 中类和类型是不一样的概念。型变是指类型转换后的继承关系。Kotlin 的型变分为逆变、协变和不变。 二. 协变 如果 A 是 B 的子类型,并且Generic<A> 也是 Generic<B> 的子类型,那么 Generic<T> 可以称之为一个协变类。 2.1Java 上界通配符<? extends T> Java 的协变通过上界通配符实现。 如果

Object-Android关键字,伴生对象,Kotlin静态

目录 1、定义一个类并生成它的单例对象 原理 调用方式 2、伴生对象(静态类) 原理 调用方式 3、对象表达式 Object在Android独特的前缀通常有以下三种用法: 1、定义一个类并生成它的单例对象 object Singleton{fun test(){}} 原理 其实就是Java的单例模式,Kotlin中提供object方便创建单例 public fi

Map排序与转换的深入探索:Java与Kotlin的实现与应用

更多内容:孔乙己大叔 1. Map的排序基础 Map是一种键值对(Key-Value Pair)集合,其中每个键都映射到一个唯一的值。然而,Map接口本身并不保证顺序,这取决于具体的实现。例如,HashMap在Java和Kotlin中都是无序的,而TreeMap和LinkedHashMap则提供了有序的Map实现。 1.1 TreeMap排序 TreeMap在Java和Kotlin中都是基

Kotlin 流 Flow

挂起函数可以异步地返回一个值,而对于返回多个值,可以使用流,使用 emit(x) 发射多个值, collect { } 来收集值。 默认 流是冷的,只有 收集(collect) 时才会执行。 1. 流的创建 flow {} 生成流,emit(x) 来发射值;xxx.asFlow() 集合转成Flow;flowOf(1, 2, 3) 生成固定值的流。 1.1 flow {} flow {}

从源码角度分析 Kotlin by lazy 的实现

by lazy 的作用 延迟属性(lazy properties) 是 Kotlin 标准库中的标准委托之一,可以通过 by lazy 来实现。 其中,lazy() 是一个函数,可以接受一个 Lambda 表达式作为参数,第一次调用时会执行 Lambda 表达式,以后调用该属性会返回之前的结果。 例如下面的代码: val str: String by lazy{println("aaron

基于Android Studio的用户行程记录APK开发指南(一):项目基础配置与速通Kotlin

前言 最近博主在unity开发独立游戏,UE5系列的相关长期教程先暂时不更新了~ 请大家多多谅解~本系列教程我们来看看如何使用Android Studio去开发一个APK用于用户的实时行程记录。本期我们来项目基础配置与速通Kotlin 安装Android Studio 我们进入Android Studio的官网,选择下载官网链接 下载后点击exe运行安装,这里我们要选择安卓虚拟设备

ondrag 事件_html5拖放(Drag和Drop)

二、相关重点 DataTransfer 对象:退拽对象用来传递的媒介,使用一般为Event.dataTransfer。 draggable 属性:就是标签元素要设置draggable=true,否则不会有效果,例如: <div title="拖拽我" draggable="true">列表1</div> ondragstart 事件:当拖拽元素开始被拖拽的时候触发的事件,此事件作用在被拖曳元