kotlin精讲-第5章(4)数组介绍&创建&遍

作者: 739c8d412b4c | 来源:发表于2017-12-06 12:56 被阅读193次

数组介绍

有过编程经验的对数组应该不陌生,诸多的编程语言都有数组这个概念。数组就是有序可重复定长的容器。 感觉很拗口,我们一个个分析。

首先数组是个容器,容器就是一个对象可以存储多条数据;有序,存储元素有先后顺序,先存储的顺序靠前;可重复,数组可以存储重复的数据;定长,数组长度创建就已经固定。通过数组对象可以存储多条数据,提高开发效率。

举个例子,以前使用猎枪打仗一次填装一颗子弹,现在有了冲锋枪,一个弹夹可以存储多颗子弹,数组就相当于这个弹夹。在Kotlin中数组使用的类型是Array,完整定义如下:


数组创建

arrayOf方法创建数组

我们可以通过arrayOf方法创建数组,也可以通过Array类的构造方法创建。

我们翻看源码, arrayOf方法的定义如下:


不过,想要完全看懂该方法,还需要后续章节的泛型、泛型实化类型、内联函数的知识,现在我们只需要掌握使用即可。使用arrayOf方法创建数组如下,参考代码:

针对以上代码我们看到了arrayOf方法创建数组是很方便的,只需要把数组元素扔进去就好了,不用考虑类型,编译器会自动帮我们推断类型。

第14行我们把Int类型的元素和String类型的元素一同扔进了集合,不是说,集合中防止的是同一类型的元素吗?这里Int类型和String类型不相同呀,为什么可以存在同一个集合呢?其实,这个时候编译器把放进去的String类型的元素和Int类型的元素,都当做了Any类型的元素。

我们在进行日志输出的时候,使用了数组的size属性。

Array类的构造方法创建数组

我们翻看源码,Array类的构造方法定义如下:

不过,想要看懂该方法,还需要后面章节的lambda表达式的知识,现在我们只需要掌握使用即可。而且,通过Array类的构造方法创建数组的情况还比较少,主要创建一些有规律性的元素。

比如,想创建一个集合长度为5,集合元素包含[0,2,4,6,8,10]或者[0,3,6,9,12,15]这样规律性的元素的时候,用Array类的构造方法就显得方便一些。

通过arrayOf创建数组,

数组遍历

前面我们学习了区间的遍历,那如何遍历集合中呢?Array的遍历和区间的遍历差不多,就少了step遍历的方式。

也就是Array在遍历的时候,可以普通的for循环,还可以for循环的时候调用数组的withIndex方法,还可以for循环的时候调用数组的indices属性,参考代码:

运行结果:

当然,还可以通过高阶函数进行遍历操作,这个我们后续再去讲解。

相关文章

网友评论

    本文标题:kotlin精讲-第5章(4)数组介绍&创建&遍

    本文链接:https://www.haomeiwen.com/subject/wavkixtx.html