数组 Kotlin(5)
数组
数组在 Kotlin 中使用 Array 类来表示,它定义了 get 和 set 函数(按照运算符重载约定
这会转变为 [] ) 和 size 属性,以及一些其他有用的成员函数:
基本类型
class Array<T> private constructor() {
val size: Int
operator fun get(index: Int): T
operator fun set(index: Int, value: T): Unit
operator fun iterator(): Iterator<T>
// ……
}
我们可以使用库函数 arrayOf() 来创建一个数组并传递元素值给它,这样 arrayOf(1, 2, 3)
创建了 array [1, 2, 3]。 或者,库函数 arrayOfNulls() 可以用于创建一个指定大小、元素都
为空的数组。
另一个选项是用接受数组大小和一个函数参数的工厂函数,用作参数的函数能够返回 给定索
引的每个元素初始值:
// 创建一个 Array<String> 初始化为 ["0", "1", "4", "9", "16"]
val asc = Array(5, { i -> (i * i).toString() })
如上所述, [] 运算符代表调用成员函数 get() 和 set() 。
注意: 与 Java 不同的是,Kotlin 中数组是不型变的(invariant) 。这意味着 Kotlin 不让我们把
Array<String> 赋值给 Array<Any> ,以防止可能的运行时失败(但是你可以使用 Array<out
Any> , 参见类型投影) 。
Kotlin 也有无装箱开销的专门的类来表示原生类型数组: ByteArray 、
ShortArray 、 IntArray 等等。
这些类和 Array 并没有继承关系,但是 它们有同样的方法
属性集。它们也都有相应的工厂方法:
val x: IntArray = intArrayOf(1, 2, 3)
x[0] = x[1] + x[2]
最新文章
- jsp连接SQL Server数据库的方式
- c++ 对象的内存布局
- TaskScheduler的启动
- Hbase1.0 客户端api
- 从零开始攻略PHP(4)——数组的使用
- 【C#基础】static 关键字用法小结
- js判断屏幕分辨率的代码
- 【Linux】鸟哥的Linux私房菜基础学习篇整理(八)
- 织梦DEDECMS网站首页如何实现分页翻页
- 织梦list文章列表按权重排序
- 【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析
- shell编程之运算符(3)
- 【转】Linux中的特殊权限粘滞位(sticky bit)详解
- CentOS下RabbitMq高可用集群环境搭建
- JMeter性能测试中控制业务比例
- pycharm安装pip报错的处理办法
- MQTT 嵌入式端通讯协议解析(转)
- centos系统初始化脚本
- ==和equals的比较
- WPF概述(硬件加速及分辨率无关性)
热门文章
- Django框架——基础之路由系统(urls.py)
- 基于Chromium的浏览器已上线通用“显示密码”按钮
- windows10 mysql主从复制配置
- html base标签 target=_parent使用介绍
- 介绍知道的http返回的状态码
- 数字转化为汉字,如5->;五
- sed基础语法
- 【LuoguP4081】[USACO17DEC]Standing Out from the Herd
- Java——静态代理、动态代理
- 【leetcode】815. Bus Routes