文档章节

Groovy使用List集合

muzi1994
 muzi1994
发布于 2017/01/10 14:43
字数 546
阅读 71
收藏 0
  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,'顺丰海淘','就是好','只卖正品']

 

© 著作权归作者所有

muzi1994

muzi1994

粉丝 5
博文 121
码字总数 31876
作品 0
朝阳
私信 提问
Groove list操作-转数组,collect,each等

list转换为数组 List list = ['a','b','c','d']def strs = list as String[]println strs[0] 使用了Groovy语言,就能时不时的感受到Groovy语言在编码风格上与Java语言的不同。当然,我们首先......

SuShine
2018/08/31
51
0
groovy中List集合的使用

groovy中集合的使用也比java简单许多了,值得高兴的是groovy还提供了许多便利的方法例如给集合中的数字排序、求最大值或最小值、元 素反转、求交集、去除重复元素、数组合并、选取符合条件元...

aiaa5505
2015/11/11
1K
0
Groovy(四)-布尔值,Lists,Arrays,Maps

译文:Groovy Language Documentation 布尔值 布尔值是一种用来表示真值:true和false的特殊数据类型。用这种数据类型可以设置简单的标志位来跟踪true/false情况。 布尔类型可以保存在变量中...

ZJ_Rocky
2017/12/06
0
0
Gradle从入门到实战 - Groovy基础

前言 Android方向的第一期文章,会专注于Gradle系列,名字叫做『 Gradle从入门到实战』,计划有如下几个课程: Groovy基础 全面理解Gradle 如何创建Gradle插件 分析Android的build tools插件...

亭子happy
2018/06/13
0
0
Groovy 快速开始

设置你的java环境 Groovy 需要 Java, 因此你需要有一个有效的版本(1.4 或者更高的版本是必需的),如果你尚未安装java,那么以下是你要做的步骤: 从站点 http://java.sun.com 获取最新版的...

红薯
2011/11/08
3K
6

没有更多内容

加载失败,请刷新页面

加载更多

哪些情况下适合使用云服务器?

我们一直在说云服务器价格适中,具备弹性扩展机制,适合部署中小规模的网站或应用。那么云服务器到底适用于哪些情况呢?如果您需要经常原始计算能力,那么使用独立服务器就能满足需求,因为他...

云漫网络Ruan
今天
10
0
Java 中的 String 有没有长度限制

转载: https://juejin.im/post/5d53653f5188257315539f9a String是Java中很重要的一个数据类型,除了基本数据类型以外,String是被使用的最广泛的了,但是,关于String,其实还是有很多东西...

低至一折起
今天
23
0
OpenStack 简介和几种安装方式总结

OpenStack :是一个由NASA和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。项目目标是提供实施简单、可大规模扩展、丰富、标准统一的云计算管理平台。OpenSta...

小海bug
昨天
11
0
DDD(五)

1、引言 之前学习了解了DDD中实体这一概念,那么接下来需要了解的就是值对象、唯一标识。值对象,值就是数字1、2、3,字符串“1”,“2”,“3”,值时对象的特征,对象是一个事物的具体描述...

MrYuZixian
昨天
9
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部