一、数组Array

1.数组的定义

        仓颉编程语言中定义数组的关键字为Array<T>,语法为var/let 数组名 : Array<T> = [ ]。尖括号内T为泛型。

main(): Int64 {
    var array : Array<Int64> = [1,2,3,4,5]
    return 0
}

注意:仓颉编程语言中数组是定长的,不能进行增加删除操作,但是可以进行修改操作。

main(): Int64 {
    var array : Array<Int64> = [1,2,3,4,5]
    array[0] = 12
    return 0
}

上述代码中就把数组中第一个元素修改为12。

2.数组的遍历

        (1)可以直接通过数组名进行遍历

main(): Int64 {
    var array : Array<Int64> = [1,2,3,4,5]
    println(array)
    return 0
}

遍历结果:

        (2)可以通过for..in语句进行遍历

main(): Int64 {
    var array : Array<Int64> = [1,2,3,4,5]
    for(item in array)
    {
        println(item)
    }
    return 0
}

遍历结果:

如果实际开发中不需要进行增加和删除元素,但要进行修改的话可以使用数组Array。

二、ArrayList

1.ArrayList的定义

        仓颉编程语言中定义ArrayList的关键字为ArrayList<T>,语法为var/let 名称 : ArrayList<T> = ArrayList<T>()。尖括号内T为泛型。仓颉编程语言中要使用ArrayList需要导入包:

import std.collection.ArrayList

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    return 0
}

注意:ArrayList是动态的数组,既可以进行增加和删除操作也可以进行删除操作。并且ArrayList的底层是数组。

2.ArrayList的遍历

        (1)直接通过名称进行遍历

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    println(arraylist)
    return 0
}

遍历结果:

        (2)通过for..in语句进行遍历

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    for(item in arraylist)
    {
        println(item)
    }
    return 0
}

遍历结果:

3.ArrayList的一些常用内置方法

        (1)通过size获取元素个数

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    println(arraylist.size)
    return 0
}

结果为:

        (2)通过append()方法来增加元素

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    arraylist.append(12)
    for(item in arraylist)
    {
        println("每个元素为:${item}")
    }
    return 0
}

结果为:

        (3)通过remove(下标)方法来删除元素

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    arraylist.remove(0)
    for(item in arraylist)
    {
        println("删除后每个元素为:${item}")
    }
    return 0
}

结果为:

        (4)通过contains()方法来查看ArrayList中有无需要的元素,返回布尔类型。

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    println(arraylist.contains(5))
    println(arraylist.contains(10))
    return 0
}

结果为:

        (5)通过clear()方法来清空元素

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    arraylist.clear()
    println(arraylist)
    println(arraylist.size)
    return 0
}

结果为:

        (6)通过get(下标)方法获取元素

import std.collection.ArrayList
main(): Int64 {
    var arraylist : ArrayList<Int64> = ArrayList<Int64>([1,2,3,4,5])
    println(arraylist.get(0).getOrThrow())
    return 0
}

结果为:

Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐