【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )(一)

文章目录

一、使用 [] 创建集合

1、使用 [] 创建 ArrayList 集合

2、使用 [] 创建 LinkedList 集合

二、访问集合中的元素

1、集合赋初值

2、使用下标访问集合元素

( 1 ) 正常下标

( 2 ) 负数下标

( 3 ) 正数下标但超出范围

3、使用 IntRange 作为下标访问集合

4、修改使用 IntRange 作为下标访问集合不影响原集合的元素值

三、完整代码示例





一、使用 [] 创建集合



1、使用 [] 创建 ArrayList 集合


将 [] 赋值给变量 , 默认就是创建 ArrayList 集合 ; 在下面的代码中 , 打印 [] 变量类型 ;


其结果是 class java.util.ArrayList ;


   

// 使用 [] 为变量赋值
        // 该变量默认为 ArrayList 类型
        def list = []
        // 打印 [] 变量类型
        println list.class



2、使用 [] 创建 LinkedList 集合


如果要创建 LinkedList 集合 , 可以在变量的赋值后面添加 as LinkedList , 就可以将该变量声明为 LinkedList 集合 ;


其执行结果为 class java.util.LinkedList ;


     

// 创建 LinkedList
        def list1 = [] as LinkedList
        // 打印 list1 变量类型
        println list1.class






二、访问集合中的元素



1、集合赋初值


在 [] 中 , 可以设置多个相同类型的元素 , 各个元素之间使用逗号隔开 ;


下面的代码相当于创建了 ArrayList<String> 集合 , 并为该集合赋值 3 33 个元素 , 分别是 “1”, “2”, “3” ;


def list2 = ["1", "2", "3"]



2、使用下标访问集合元素



( 1 ) 正常下标


使用 [0] , [1] 等 合法的正常下标 , 可以访问集合中的元素 , 该用法与 Kotlin 类似 ;


     

def list2 = ["1", "2", "3"]
        // 通过下标访问集合元素
        print list2[0] + " "
        print list2[1] + " "
        print list2[2] + " "


打印结果为


1 2 3



( 2 ) 负数下标


如果 下标为负数 , 如 -1 , 则相当于访问倒数第一个取值 , 即访问 list.size() - 1 下标取值 , 下面的两种用法是等效的 ;


     

// 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]
        // 访问集合的 -1 元素下标
        // 相当于倒过来取值 , 倒数第一个取值
        println list2[-1] + " "
        // 该用法等价于 -1 下标取值
        println list2[list2.size() - 1] + " "


打印结果为 :

3
3


( 3 ) 正数下标但超出范围


如果 ArrayList 取值的下标是正数 , 但是超过了范围 , 则获取的值为 null ;


     

// 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]
        // 如果下标超出了 , 获取的值为 null
        println list2[4] + " "



3、使用 IntRange 作为下标访问集合


IntRange 实例对象 也可以作为 集合的访问下标 , 获取的是一个 新的子集合 ;


     

// 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]
        // 取其中的某个范围的值
        println list2[0..1] + ""
        println list2[1..2] + ""


打印结果 :


[1, 2, ]
[2, 3, ]


上一篇:【Groovy】集合遍历 ( 使用集合的 reverseEach 方法进行遍历 | 倒序集合迭代器 ReverseListIterator 类简介 | 代码示例 )


下一篇:【Groovy】循环控制 ( Java 语法循环 | 默认的 IntRange 构造函数 | 可设置翻转属性的 IntRange 构造函数 | 可设置是否包含 to 的构造函数 | 0..9 简写 )(一)