Groovy使用List集合

  1. 獲取List集合中的元素

    def lst = [1,3,4,1,8,9,2,6]
    println lst[-1]
    println lst[-2]
    
    輸出結果:
    輸出:
    6
    2
  2. 使用Range(範圍)對象得到集合中連續的幾個值

    //從左至右取值
    def lst = [1,3,4,1,8,9,2,6] println lst[2..5] 輸出結果: [4, 1, 8, 9]

    //從右至左取值
    def lst = [1,3,4,1,8,9,2,6] println lst[-1..-4]
    輸出結果:
    [6, 2, 9, 8]
  3. 迭代ArrayList

    //從左至右順序迭代
    lst = [1,3,4,1,8,9,2,6]
    lst.each{ print "${it}," }
    輸出結果:
    1,3,4,1,8,9,2,6,
    
    //從右至左反方向迭代
    lst = [1,3,4,1,8,9,2,6]
    lst.each{ print "${it}," }
    輸出結果:
    6,2,9,8,1,4,3,1,
    
    //迭代中顯示索引
    def lst = [1,3,4,1,8,9,2,6]
    lst.eachWithIndex{ it,i -> print("${i},") }
    輸出結果:
    0,1,2,3,4,5,6,7,
  4. 使用List的collect方法

    //查找list元素
    /*find()會找到第一次出現的匹配對象,它只會迭代到閉包返回true爲止。已獲得true,find方法就會中止迭代,並將當前的元素返回。若是遍歷結束也沒獲得true,則返回null。*/
    lst = [1,3,4,1,8,9,2,6]
    println lst.find{ it > 4 }
    輸出結果:
    8
    
    //查找list元素,返回全部符合條件元素
    lst = [1,3,4,1,8,9,2,6]
    println lst.findAll{ it > 4 }
    輸出結果:
    [8,9,6]
    
    //查找list元素,返回元素下標
    lst = [1,3,4,1,8,9,2,6]
    println lst.findAllIndexOf{ it == 4 }
    輸出結果:
    2
  5. 使用List的排序

    def ids = [5,6,3,7,1,4,9]  
    //能夠認爲是 Comparator 排序  
    ids.sort { a,b->  
        return -a.compareTo(b)  
    }  
    println ids  
    //天然排序  
    ids.sort();  
    println ids
    
    輸出結果:
    [9, 7, 6, 5, 4, 3, 1]
    [1, 3, 4, 5, 6, 7, 9]
  6. list去重

    lst = [1,3,1,1,8,9,2,6]
    println lst.unique()
    輸出結果:
    [1, 3, 8, 9, 2, 6]
  7. 將list元素連接成一個字符串

    lst = ['順豐海淘','就是好','只賣正品']
    println lst.join('')
    println lst.join(',')
    輸出結果:
    順豐海淘就是好只賣正品
    順豐海淘,就是好,只賣正品
  8. 元素替換

    lst = ['順豐海淘','就是好','只賣正品']
    lst[0] = ['sfht','.com']
    println lst.flatten()
    輸出結果:
    [sfht, .com, 就是好, 只賣正品]
  9. +/-操做符


    lst = ['順豐海淘','就是好','只賣正品']
    println lst - ['就是好']
    輸出結果:
    [順豐海淘, 只賣正品]
    
    lst = ['順豐海淘','就是好','只賣正品']
    println lst + ['你說呢']
    輸出結果:
    [順豐海淘, 就是好, 只賣正品, 你說呢]
  10. list元素拉平

    lst = [[1,2],'順豐海淘','就是好','只賣正品']
    println lst.flatten()
    輸出結果:
    [1,2,'順豐海淘','就是好','只賣正品']
相關文章
相關標籤/搜索