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,‘顺丰海淘‘,‘就是好‘,‘只卖正品‘]
    
时间: 2024-08-05 06:47:34

Groovy使用List集合的相关文章

groovy中List集合的使用

groovy中集合的使用也比java简单许多了,值得高兴的是groovy还提供了许多便利的方法例如给集合中的数字排序.求最大值或最小值.元 素反转.求交集.去除重复元素.数组合并.选取符合条件元素等很好用的功能,因为这些方法Intellij IDE有代码提示,就不一一说明了. 1.list集合的最常规的操作 package org.lxh //集合的简单使用 class UseArray01 {     //集合添加元素操作 static main(args) {    //list集合操作  

Groovy操纵集合秘籍

Groovy操纵集合秘籍 [X] 遍历集合 遍历list对象 java风格: def list = [1, 2, 3, 4] for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } groovy风格: def list = [1, 2, 3, 4] list.each{ println it } [X] collect方法–对集合每个元素进行运算后,得到一个新集合 例如:我们需要得到一个集合对象,它的每

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

转载自http://www.tuicool.com/articles/jYzuAv和http://www.importnew.com/1537.html 在我与Martin Fowler曾经合作呈现的一次主题演讲中,他作出了一个有洞察性的观点: Java的遗产将是平台,而不是程序设计语言. Java技术的原始工程师们作出了一个明智的决定,就是将编程语言与运行时环境分开,最终这使得超过200种语言能够运行在Java平台上.这种架构对于该平台的长期活力是至关重要的,因为计算机程序设计语言的寿命一般都

精通 Groovy

使用 Groovy 的简单语法开发 Java 应用程序 本教程适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java? 开发人员.了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合.内置正则表达式和闭包.编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试.借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习.最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 J

Java 下一代: Groovy、Scala 和 Clojure

在与 Martin Fowler 共同参加的一次主题演讲中,他提供了一个敏锐的观察报告: Java 的遗产是  平台,不是  语言. 最初的 Java 技术工程师曾做过一个了不起的决定,将语言从运行时中分离出来,最终使 200 多种语言可在 Java 平台上运行.该基础架构对平台保持长久活力非常关键,因为计算机编程语言的寿命通常很短.自 2008 年以来,每年由 Oracle 主办的 JVM 语言峰会都会为 JVM 上替代语言的实现者提供与平台工程师公开合作的机会. 欢迎来到 Java 下一代专

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

本文适合于不熟悉 Groovy,但想快速轻松地了解其基础知识的 Java开发人员.了解 Groovy 对 Java 语法的简化变形,学习 Groovy 的核心功能,例如本地集合.内置正则表达式和闭包.编写第一个 Groovy 类,然后学习如何使用 JUnit 轻松地进行测试.借助功能完善的 Groovy 开发环境和使用技能,您将轻松完成本教程的学习.最重要的是,您将学会如何在日常 Java 应用程序开发中联合使用 Groovy 和 Java 代码. 阅读本文的前提条件:为了从本教程得到最大收获,

详述三种现代JVM语言--Groovy,Scala和Clojure

Java的遗产将是平台,而不是程序设计语言. Java技术的原始工程师们作出了一个明智的决定,就是将编程语言与运行时环境分开,最终这使得超过200种语言能够运行在Java平台上.这种架构对于该平台的长期活力是至关重要的,因为计算机程序设计语言的寿命一般都是比较短.从2008年开始,由Oracle主办的一年一度的JVM语言峰会为JVM上其它的语言实现与Java平台工程师进行开放式合作提供了机遇. 欢迎来到Java.next专栏系列,在本系列的文章中,我将讲述三种现代JVM语言--Groovy,Sc

精通Groovy之简要总结

简介 Groovy 是 JVM 的一个替代语言 —替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同.在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码.Groovy 的一个好处是,它的语法与 Java 语言的语法很相似.虽然 Groovy 的语法源于 Smalltalk 和 Ruby 这类语言的理念,但是可以将它想像成 Java 语言的一种更加简单.表达能力更强的变体.详见:精通gro

Groovy语法

Java的东西Groovy都能用,包括语法和类库 例如,新建一个HelloGroovy.groovy 输入一下Java代码: /** * Created by sunwenming on 2017/2/8. */ public class HelloGroovy {     public static void main(String[] args) {         for (int i = 0; i < 3; i++) {             System.out.println(&quo