Kotlin之集合

集合的种类和写法

一提到集合,那么大家不由自主的想到、、。没错,在Kotlin中也包含了这三类集合。

:可能是最流行的集合类型。他是一个有序的集合,正因为它的有序,我们可以使用get函数通过position来访问。

:一个无序并不重复item的集合。

:一个以键值对"key-value"形式存在的集合。key在map中是唯一的,也就是说不能有两对key样的键值对存在于一个map中。

介绍了三中集合的概念之后,我们来看看它们在Kotlin里的写法,和Java有所不同:

Kotlin中定义一个集合不需要像Java那么繁琐,如果在定义的时候你明确了集合中的类型,你甚至都可以不需要声明集合中数据的类型,如。

这里需要注意的是Map集合,通过Map的源码可以看出,传入的参数其实是,所以我们可以在声明Map集合的时候传入一个个,如:,但是这种写法太冗余了,Kotlin中还可以通过函数来生成一个对象,写法为,其实就等同与,但是从肉眼上就能看出函数的写法要简单多了。所以推荐大家以后再声明键值对类型的常量,使用函数来声明。

集合的扩展函数

Kotlin给开发者提供了很多方便的扩展函数,如:

max():取集合中最大值

last:返回集合中最后一个元素

除了之外,还有其它一些类似的函数,如,返回最后一个匹配T的index。更多的大家可以去官网的API了解,在这笔者就不过多介绍了。

filter:遍历集合并选出符合条件的元素

这是一个Lambda表达式,在接下来笔者会带着大家一起学习,在这里暂不多介绍,只需要知道代表的是遍历集合的每一个元素。从输出结果中可以看出,集合中满足除以2取余为0的都打印出来了,用了函数之后,就不需要大家手动去遍历集合,判断,最后打印了。

map:遍历集合中每一个元素,并且对这些元素进行给定函数处理后返回到一个新集合中

all:如果全部的元素都符合函数内条件,则返回

any:如果集合中有一个或一个以上的元素满足函数内条件,则返回

count:返回符合函数内条件的元素个数

groupBy:将集合按照函数内条件分组

从打印结果可以看到,年龄为22的分在一个组合中,21则存在于另外一个组合

除了上面介绍的一些扩展函数之外,Kotlin还提供了很多额外的函数,如:、、等等一系列,大家可以去Kotlin文网站上面仔细学习,这些函数可以在日常开发中带来很便捷的操作。

这期笔者就为大家带来这些内容,还有很多没介绍,希望大家可以自己去网站上学习。

写在最后

每个人不是天生就强大,你若不努力,如何证明自己,加油!

Thank You!

--Taonce

如果你觉得这篇文章对你有所帮助,那么就动动小手指,长按下方的二维码,关注一波吧~~

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181031G0ATL100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券