数组初始化
初始化元素,一般用大括号括起来。如下只讨论不同编程语言直接初始化数组的方式,其他动态创建或者调用构造函数初始化不在此讨论范围。
- C/ObjC/C++
- 初始化:跟随声明一起,int arr[] = {1, 2, 3};
- 不支持某些编程语言的切片范围赋值。
- Python
- 和C/C++的操作很像,除了声明不需要带类型,也支持切片,下标可以是负数。
- 列表追加:append函数, 插入:insert函数,删除:delete
- 需要删除,但还接着需要用:pop()函数或pop(<index>)函数
- 按值删除:remove函数,但只会删除第一个满足条件的,可利用循环删除所有
- 排序:sort函数,临时排序的列表:sorted函数
- 反转:reverse函数
- 长度:len(<list>)
- Fortran
初始化: arr = [1, 2, 3]
切片赋值:arr(1:2) = 1 ! 设置第一个到第二个元素都是1 - C#
- 初始化:int[] arr = {1, 2, 3};
- Kotlin
- Kotlin初始化是比较特例的
- var arr : IntArray = intArrayOf(10, 20, 30)
- var arr : Array<int> = arrayOf(10, 20, 30)
- Kotlin初始化是比较特例的
- VB
- Dim arr(10) As Integer
// 初始化数组语句 - Dim arr
arr = Array(1, 2, 3)
- Dim arr(10) As Integer
- Pascal
- 例如:var arr:array[0..2] of integer = (10, 20, 30);
- 仓颉
- 用方括号初始化Array数组:var arr = [1, 2, 3]
读写
- C/ObjC/C++/C#/Kotlin/Java/Pascal/仓颉
- arr[idx]
- Kotlin 还提供set函数,例如: intArray.set(3, 100) 将数组intArray下标3的元素改成100.
- Pascal 多维数组下标用逗号分隔:例如arr[2, 3]
- VB 访问数组下标用括号
- arr(idx)
数组大小
- C/ObjC/C++ 不提供内置数组获取大小的函数,因为它们的语言设计期望简洁。
- 注意ObjC 的NSArray属于框架,而非内置数组,有数组大小函数。
- Kotlin 提供 size 属性,例如:intArray.size