前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )

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

作者头像
韩曙亮
发布2023-03-30 10:09:05
1.6K0
发布2023-03-30 10:09:05
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

一、使用 [] 创建集合


1、使用 [] 创建 ArrayList 集合

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

其结果是 class java.util.ArrayList ;

代码语言:javascript
复制
        // 使用 [] 为变量赋值
        // 该变量默认为 ArrayList 类型
        def list = []

        // 打印 [] 变量类型
        println list.class

2、使用 [] 创建 LinkedList 集合

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

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

代码语言:javascript
复制
        // 创建 LinkedList
        def list1 = [] as LinkedList

        // 打印 list1 变量类型
        println list1.class

二、访问集合中的元素


1、集合赋初值

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

下面的代码相当于创建了 ArrayList<String> 集合 , 并为该集合赋值

3

个元素 , 分别是 “1”, “2”, “3” ;

代码语言:javascript
复制
def list2 = ["1", "2", "3"]

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

( 1 ) 正常下标

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

代码语言:javascript
复制
        def list2 = ["1", "2", "3"]

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

打印结果为

代码语言:javascript
复制
1 2 3 

( 2 ) 负数下标

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

代码语言:javascript
复制
        // 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]

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

打印结果为 :

代码语言:javascript
复制
3
3

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

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

代码语言:javascript
复制
        // 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]

        // 如果下标超出了 , 获取的值为 null
        println list2[4] + " "

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

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

代码语言:javascript
复制
        // 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]

        // 取其中的某个范围的值
        println list2[0..1] + ""
        println list2[1..2] + ""

打印结果 :

代码语言:javascript
复制
[1, 2, ]
[2, 3, ]

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

修改使用 IntRange 作为下标访问集合 不影响原集合的元素值 , 原来集合中的元素的值不变 , 这说明获取的集合是 新创建的一个集合 ;

代码语言:javascript
复制
        // 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]

        // 取出的值组成的是一个新的集合
        // 修改新集合中的数据 , 不会对老集合产生影响
        def list3 = list2[0..2]
        list3[0] = "8"
        println list2
        println list3

执行结果 :

代码语言:javascript
复制
[1, 2, 3]
[8, 2, 3]

三、完整代码示例


完整代码示例 :

代码语言:javascript
复制
class Test {
    static void main(args) {


        // I . 创建 ArrayList 集合


        // 使用 [] 为变量赋值
        // 该变量默认为 ArrayList 类型
        def list = []

        // 打印 [] 变量类型
        println list.class


        // II . 创建 LinkedList 集合


        // 创建 LinkedList
        def list1 = [] as LinkedList

        // 打印 list1 变量类型
        println list1.class


        // III . 创建 ArrayList 为集合元素赋值 , 使用下标访问集合元素


        // 为 ArrayList 设置初始值
        def list2 = ["1", "2", "3"]

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

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

        // 如果下标超出了 , 获取的值为 null
        println list2[4] + " "

        // 取其中的某个范围的值
        println list2[0..1] + ""
        println list2[1..2] + ""

        // 取出的值组成的是一个新的集合
        // 修改新集合中的数据 , 不会对老集合产生影响
        def list3 = list2[0..2]
        list3[0] = "8"
        println list2
        println list3

    }
}

执行结果 :

代码语言:javascript
复制
class java.util.ArrayList
class java.util.LinkedList
1 2 3 
3 
3 
null 
[1, 2, ]
[2, 3, ]
[1, 2, 3]
[8, 2, 3]
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、使用 [] 创建集合
    • 1、使用 [] 创建 ArrayList 集合
      • 2、使用 [] 创建 LinkedList 集合
      • 二、访问集合中的元素
        • 1、集合赋初值
          • 2、使用下标访问集合元素
            • ( 1 ) 正常下标
            • ( 2 ) 负数下标
            • ( 3 ) 正数下标但超出范围
          • 3、使用 IntRange 作为下标访问集合
            • 4、修改使用 IntRange 作为下标访问集合不影响原集合的元素值
            • 三、完整代码示例
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档