From 662371f85de7dee6c002dfc722c40ad7158e2838 Mon Sep 17 00:00:00 2001 From: luming Date: Thu, 1 Jul 2021 14:15:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=83=E7=B4=A0=E6=9F=A5=E6=89=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/senior/Lambda/Collection.kt | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/senior/Lambda/Collection.kt diff --git a/src/senior/Lambda/Collection.kt b/src/senior/Lambda/Collection.kt new file mode 100644 index 0000000..76d80e4 --- /dev/null +++ b/src/senior/Lambda/Collection.kt @@ -0,0 +1,33 @@ +package senior.Lambda + +/** + * 集合 + * + */ + +fun main(args: Array) { + val list = listOf(20, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 33, 12, 74, 23, 21) + println("list = $list") + + // 查找 + println("list = $list") + // 只会返回查找到的第一个元素 + println("element > 2 = ${list.find { it > 2 }}") + + // 查找满足条件的第一个元素 未找到会抛异常 + println("element > 2 = ${list.first { it > 2 }}") + + // 查找满足条件的最后一个元素 未找到会抛异常 + println("element < 33 = ${list.last { it < 33 }}") + + // 查找到的结果超过1个将会异常 + println("element single one = ${list.single { it == 9 }}") + + // takewile只有第一个元素满足条件才能继续向下查找 + println("element > 10 = ${list.takeWhile { it > 2 }}") + println("element > 10 = ${list.takeWhile { it > 20 }}") + + // 查找所有满足条件的元素 + println("element > 10 = ${list.filter { it >= 20 }}") + +} \ No newline at end of file