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,'順豐海淘','就是好','只賣正品']
    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM