【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.class2、使用 [] 創建 LinkedList 集合
如果要創建 LinkedList 集合 , 可以在變量的賦值后面添加 as LinkedList , 就可以將該變量聲明為 LinkedList 集合 ;
其執行結果為 class java.util.LinkedList ;
// 創建 LinkedListdef list1 = [] as LinkedList// 打印 list1 變量類型println list1.class二、訪問集合中的元素
1、集合賦初值
在 [] 中 , 可以設置多個相同類型的元素 , 各個元素之間使用逗號隔開 ;
下面的代碼相當于創建了 ArrayList<String> 集合 , 并為該集合賦值 333 個元素 , 分別是 “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"]// 如果下標超出了 , 獲取的值為 nullprintln list2[4] + " "3、使用 IntRange 作為下標訪問集合
IntRange 實例對象 也可以作為 集合的訪問下標 , 獲取的是一個 新的子集合 ;
// 為 ArrayList 設置初始值def list2 = ["1", "2", "3"]// 取其中的某個范圍的值println list2[0..1] + ""println list2[1..2] + ""打印結果 :
[1, 2, ] [2, 3, ]4、修改使用 IntRange 作為下標訪問集合不影響原集合的元素值
修改使用 IntRange 作為下標訪問集合 不影響原集合的元素值 , 原來集合中的元素的值不變 , 這說明獲取的集合是 新創建的一個集合 ;
// 為 ArrayList 設置初始值def list2 = ["1", "2", "3"]// 取出的值組成的是一個新的集合// 修改新集合中的數據 , 不會對老集合產生影響def list3 = list2[0..2]list3[0] = "8"println list2println list3執行結果 :
[1, 2, 3] [8, 2, 3]三、完整代碼示例
完整代碼示例 :
class Test {static void main(args) {// I . 創建 ArrayList 集合// 使用 [] 為變量賦值// 該變量默認為 ArrayList 類型def list = []// 打印 [] 變量類型println list.class// II . 創建 LinkedList 集合// 創建 LinkedListdef 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] + " "// 如果下標超出了 , 獲取的值為 nullprintln list2[4] + " "// 取其中的某個范圍的值println list2[0..1] + ""println list2[1..2] + ""// 取出的值組成的是一個新的集合// 修改新集合中的數據 , 不會對老集合產生影響def list3 = list2[0..2]list3[0] = "8"println list2println list3} }執行結果 :
class java.util.ArrayList class java.util.LinkedList 1 2 3 3 3 null [1, 2, ] [2, 3, ] [1, 2, 3] [8, 2, 3]總結
以上是生活随笔為你收集整理的【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Groovy】循环控制 ( Numbe
- 下一篇: 【Groovy】集合遍历 ( 使用 fo