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集合的更多相关文章

  1. 30分钟groovy快速入门并掌握(ubuntu 14.04+IntelliJ 13)

    本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员.了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合.内置正则表达式和闭包. ...

  2. 新学习的语言Groovy

    什么是 Groovy? Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同.在编写新应用 ...

  3. Groovy常见语法汇总

    一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,G ...

  4. [转载] 详述三种现代JVM语言--Groovy,Scala和Clojure

    转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html 在我与Martin Fowler曾经合作呈现的 ...

  5. Java 下一代: 函数式编码风格——Groovy、Scala 和 Clojure 共享的函数结构及其优势

    原文地址 本文内容 命令式处理 函数式处理 函数式编程的优势 所有 Java 下一代语言都包括函数式编程结构,让您可以从一个更高的抽象层面来思考问题.然而,语言间术语的不同使得难以看到类似的结构.本期 ...

  6. Groovy 读取json文件,并用gson反序列化为List集合

    Groovy 读取json文件,并用gson反序列化 package com.bicycle.util import bicycle_grails.StationInfo import com.goo ...

  7. groovy集合

    groovy集合可以直接在语言中使用,因为它默认已经导入包了. 不需要初始化对象,也不需要专门的类. 集合是groovy语言本地成员.Groovy语法提供了本地列表和相应的映射. 每个Groovy集合 ...

  8. Groovy系列(4)- Groovy集合操作

    Groovy集合操作 Lists List 字面值 您可以按如下所示创建列表. 请注意,[]是空列表表达式 def list = [5, 6, 7, 8] assert list.get(2) == ...

  9. swift - 字典和集合

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #4dbf56 } p.p2 { margin: 0.0px 0. ...

随机推荐

  1. Codeforces 165 E. Compatible Numbers【子集前缀和】

    LINK 题目大意 给你一个数组,问你数组中的每个数是否可以在数组里面找到一个数和他and起来是0,如果可以就输出这个数,否则就输出-1 思路 首先很显然的是可以考虑找到每个数每一位都取反的数的子集 ...

  2. prisma graphql 集成timescaledb

    prisma 官方文档说明了因为支持pg 所以相关的timescaledb.cockroachdb 应该也是支持的 但是测试之后timescaledb 支持cockroachdb有问题(事务处理模型支 ...

  3. cratedb nodejs 试用

    安装cratedb docker run -d -p 4200:4200 crate nodejs 项目初始化 yarn yarn init -y 添加依赖 yarn add node-crate 基 ...

  4. Python学习思维导图

     刚学习Python时,边学边总结的,采用思维导图的形式, 适合回顾使用.内容参考<Python:从入门到实践>一书.   再给出一张Datacamp网站上的一张关于Python基础的总结 ...

  5. sorting--codility

    lesson 6: sorting 1. Distinct 2. Triangle 2. MaxProductOfThree 4. NumberOfDiscIntersections lesson 6 ...

  6. js中caller和callee属性详解

    一.caller属性返回一个对函数的引用,该函数调用了当前函数.functionName.callerfunctionName 对象是所执行函数的名称.说明对于函数来说,caller 属性只有在函数执 ...

  7. Kotlin Android学习入门

    1.基本语法 https://github.com/mcxiaoke/kotlin-notes/blob/master/kotlin-tutorial-basic.md 2.推荐两篇Kotlin An ...

  8. python 命令行参数获取

    import argparse parser = argparse.ArgumentParser(description='Real-Time Filtering evaluation script ...

  9. .NET后台访问其他站点代码整理

    HttpWebRequest request = WebRequest.Create(@"http://localhost:8080/mail/SendMail") as Http ...

  10. MySQL锁之二:锁相关的配置参数

    锁相关的配置参数: mysql> SHOW VARIABLES LIKE '%timeout%'; +-----------------------------+----------+ | Va ...