数组

数组在 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]

最新文章

  1. jsp连接SQL Server数据库的方式
  2. c++ 对象的内存布局
  3. TaskScheduler的启动
  4. Hbase1.0 客户端api
  5. 从零开始攻略PHP(4)——数组的使用
  6. 【C#基础】static 关键字用法小结
  7. js判断屏幕分辨率的代码
  8. 【Linux】鸟哥的Linux私房菜基础学习篇整理(八)
  9. 织梦DEDECMS网站首页如何实现分页翻页
  10. 织梦list文章列表按权重排序
  11. 【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析
  12. shell编程之运算符(3)
  13. 【转】Linux中的特殊权限粘滞位(sticky bit)详解
  14. CentOS下RabbitMq高可用集群环境搭建
  15. JMeter性能测试中控制业务比例
  16. pycharm安装pip报错的处理办法
  17. MQTT 嵌入式端通讯协议解析(转)
  18. centos系统初始化脚本
  19. ==和equals的比较
  20. WPF概述(硬件加速及分辨率无关性)

热门文章

  1. Django框架——基础之路由系统(urls.py)
  2. 基于Chromium的浏览器已上线通用“显示密码”按钮
  3. windows10 mysql主从复制配置
  4. html base标签 target=_parent使用介绍
  5. 介绍知道的http返回的状态码
  6. 数字转化为汉字,如5-&gt;五
  7. sed基础语法
  8. 【LuoguP4081】[USACO17DEC]Standing Out from the Herd
  9. Java——静态代理、动态代理
  10. 【leetcode】815. Bus Routes