Kotlin入门(4)声明与操作数组
来源:互联网 发布:阿里云短信发送频率 编辑:程序博客网 时间:2024/06/05 09:17
上一篇文章介绍了基本变量类型在Kotlin中的用法,不过这只针对单个变量,如果要求把一组相同类型的变量排列起来,形成一个变量数组,那又该如何声明和操作呢?
在Java中声明数组,跟在C语言中声明是一样的,以整型数组为例,声明并赋值的语句如下所示:
1、Kotlin另外提供了新的整型数组类型即IntArray;
2、分配一个常量数组,Kotlin调用的是intArrayOf方法,并不使用new关键字;
推而广之,其它类型的数组也各有自己的数组类型,以及对应分配常量数组的方法,说明如下:
长整型数组:数组类型为LongArray,分配方法为longArrayOf;
浮点数组:数组类型为FloatArray,分配方法为floatArrayOf;
双精度数组:数组类型为DoubleArray,分配方法为doubleArrayOf;
布尔型数组:数组类型为BooleanArray,分配方法为booleanArrayOf;
字符数组:数组类型为CharArray,分配方法为charArrayOf;
以上几种基本变量数组的声明代码举例如下:
不知读者有没有注意到,上面的数组类型不包括字符串数组,而Java是允许使用字符串数组的,代码示例如下:
现在声明数组和对数组赋值都有了,还需要对数组做进一步的处理,常见的处理包括获取数组长度、获取指定位置的数组元素等等,这些功能在Java与Kotlin之间的区别包括:
关于获取数组长度,Java使用.length,而Kotlin使用.size。
关于获取指定位置的数组元素,Java通过方括号加下标来获取,比如“int_array[0]”指的是得到该数组的第一个元素;Kotlin也能通过方括号加下标来获取指定元素,不过Kotlin还拥有get和set两个方法,通过get方法获取元素值,通过set方法修改元素值,看起来就像在操作ArrayList队列。
下面是字符串数组的具体操作代码:
最后上个Kotlin操作各类型数组的效果动图,目的是把数组中的元素拼接成字符串并显示出来:
点此查看Kotlin入门教程的完整目录
__________________________________________________________________________
本文现已同步发布到微信公众号“老欧说安卓”,打开微信扫一扫下面的二维码,或者直接搜索公众号“老欧说安卓”添加关注,更快更方便地阅读技术干货。
在Java中声明数组,跟在C语言中声明是一样的,以整型数组为例,声明并赋值的语句如下所示:
int[] int_array = new int[] {1, 2, 3};其它基本类型的数组声明与之类似,只要把int替换为long、float、double、boolean、char即可。但在Kotlin中,声明并赋值一个整型数组的语句是下面这样的:
var int_array:IntArray = intArrayOf(1, 2, 3)两相对比,对于整型数组的声明,Java与Kotlin有以下区别:
1、Kotlin另外提供了新的整型数组类型即IntArray;
2、分配一个常量数组,Kotlin调用的是intArrayOf方法,并不使用new关键字;
推而广之,其它类型的数组也各有自己的数组类型,以及对应分配常量数组的方法,说明如下:
长整型数组:数组类型为LongArray,分配方法为longArrayOf;
浮点数组:数组类型为FloatArray,分配方法为floatArrayOf;
双精度数组:数组类型为DoubleArray,分配方法为doubleArrayOf;
布尔型数组:数组类型为BooleanArray,分配方法为booleanArrayOf;
字符数组:数组类型为CharArray,分配方法为charArrayOf;
以上几种基本变量数组的声明代码举例如下:
var long_array:LongArray = longArrayOf(1, 2, 3) var float_array:FloatArray = floatArrayOf(1.0f, 2.0f, 3.0f) var double_array:DoubleArray = doubleArrayOf(1.0, 2.0, 3.0) var boolean_array:BooleanArray = booleanArrayOf(true, false, true) var char_array:CharArray = charArrayOf('a', 'b', 'c')
不知读者有没有注意到,上面的数组类型不包括字符串数组,而Java是允许使用字符串数组的,代码示例如下:
String[] string_array = new String[] {"How", "Are", "You"};但在Kotlin这里,并不存在名为StringArray的数组类型,因为String不属于基本变量类型。要想在Kotlin中声明字符串数组,得使用Array<String>,也就是把String用尖括号包起来;同时,分配字符串数组的方法也相应变成了arrayOf,具体代码如下所示:
var string_array:Array<String> = arrayOf("How", "Are", "You")这种字符串数组的声明方式是不是很熟悉?看起来就跟Java里面的ArrayList用法差不多,都是在尖括号中间塞进数据结构的类型。同理,其它变量类型也能通过Array<***>方式来声明,像前面介绍的整型数组,其实可以使用类型Array<Int>,以此类推改造之后的数组声明代码如下:
var int_array:Array<Int> = arrayOf(1, 2, 3) var long_array:Array<Long> = arrayOf(1, 2, 3) var float_array:Array<Float> = arrayOf(1.0f, 2.0f, 3.0f) var double_array:Array<Double> = arrayOf(1.0, 2.0, 3.0) var boolean_array:Array<Boolean> = arrayOf(true, false, true) var char_array:Array<Char> = arrayOf('a', 'b', 'c')
现在声明数组和对数组赋值都有了,还需要对数组做进一步的处理,常见的处理包括获取数组长度、获取指定位置的数组元素等等,这些功能在Java与Kotlin之间的区别包括:
关于获取数组长度,Java使用.length,而Kotlin使用.size。
关于获取指定位置的数组元素,Java通过方括号加下标来获取,比如“int_array[0]”指的是得到该数组的第一个元素;Kotlin也能通过方括号加下标来获取指定元素,不过Kotlin还拥有get和set两个方法,通过get方法获取元素值,通过set方法修改元素值,看起来就像在操作ArrayList队列。
下面是字符串数组的具体操作代码:
btn_string.setOnClickListener { var str:String = "" var i:Int = 0 while (i<string_array.size) { str = str + string_array[i] + ", " //数组元素可以通过下标访问,也可通过get方法访问 //str = str + string_array.get(i) + ", " i++ } tv_item_list.text = str }
最后上个Kotlin操作各类型数组的效果动图,目的是把数组中的元素拼接成字符串并显示出来:
点此查看Kotlin入门教程的完整目录
__________________________________________________________________________
本文现已同步发布到微信公众号“老欧说安卓”,打开微信扫一扫下面的二维码,或者直接搜索公众号“老欧说安卓”添加关注,更快更方便地阅读技术干货。
阅读全文
0 0
- Kotlin入门(4)声明与操作数组
- kotlin入门(六)数组
- Android 与 Kotlin 入门
- js基础巩固之--数组的声明与操作
- Kotlin 简介与入门指南
- Kotlin安装配置与入门
- Kotlin安装配置与入门
- const与数组声明
- Kotlin入门(7)循环语句的操作
- jquery入门-$.each 数组操作与表单操作代码
- 数组的声明与初始化
- 数组如何声明与初始化?
- 数组的声明与使用
- 数组的声明与使用
- Android kotlin入门与基础语法一
- Kotlin入门配置与简单实战
- Android kotlin入门与基础语法二
- Kotlin系统入门与进阶(一)
- 1294: 简单统计
- 算法设计与分析 合并排序的递归实现算法
- Cocos2dx------从json文件读取数据
- SQLite约束以及连接
- 算法 埃氏筛法求素数个数
- Kotlin入门(4)声明与操作数组
- 如何快速转载CSDN中的博客
- ARP局域网断网攻击原理分析及演示
- 打包jar插件配置 java -jar xxx.jar可执行
- 史上最全的Maven Pom文件标签详解
- 常见的并行程序设计问题的解决方法
- 栈:栈、队列基本概念
- servlet之cookied/session深入浅出(cookie)
- java使用itext按页码拆分pdf