Groovy使用List集合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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,‘顺丰海淘‘,‘就是好‘,‘只卖正品‘]
    

 

以上是关于Groovy使用List集合的主要内容,如果未能解决你的问题,请参考以下文章

图书馆借阅是否借阅小案例(groovy中list和map的使用)

Groovy基础语法整理

Groovy基础语法整理

Groovy基础语法整理

Groovy基础语法整理

怎样获取list集合中的最后一个对象中的值