美文网首页
Groovy开发

Groovy开发

作者: 张子凌_ | 来源:发表于2016-10-28 13:59 被阅读0次

    集合

    • Groovy支持最常见的两个java集合:java.util.Collectionjava.util.Map

    Listjava.util.Collection

    定义

      //java定义
      List<String> list = new ArrayList<String>(); 
      //groovy新特性
      List list = [] //一个空集合
      List list = ["xxx","yyy","zzz"] //创建并对集合赋值
    

    操作

    • 追加元素
      list.add("xxx")
      list << "yyy"
      list[list.size()] = "zzz"
    
    • 索引
      //跟数组相同的索引方式,下标从0开始
      list[list.size()-1]
      list[2]
      //支持负数下标索引
      list[-1] //索引其倒数第1个元素
    
    • 运算
      list = list + 5  //在集合中添加元素5,相当于list.add()
      list = list - "xxx" //移除从集合开始位置起的第一个xxx元素
      list = list - list[0] //移除集合第一个元素
      list = list - list[0..4] //移除集合前五个元素
    

    迭代

    • 可遵循java的迭代方式
    ...
    
    • 新特性
    //java方式迭代
    ...
    //each迭代
      list.each {    
        println "This is ${it}" //it表示但前迭代的值,${it}是groovy取值的表达式    
      };
    //for迭代
      for(String item : list){    
        println "This is ${item}"    
      }
    

    Mapjava.util.Map

    描述

    • Map是“键-值”对的集合,在groovy中,键不一定是String,可以是任何对象(实际上Groovy中的Map就是java.util.LinkedHashMap)。

    定义

      //java定义方式
      ...
      //groovy新特性
      Map map = ['name':'john' , 'age':14 , 'sex':'boy'];
    

    操作

    • 追加元素
      map=map+['weight':25] 
      map.put('length',1.27)
      map.father='Keller'
    
    • 检索
      map['father']  //通过key作为下标索引
      map.father //通过key作为成员名索引
    
    • 在groovy里提供了快速简洁的遍历方式,无须像java中那样使用for循环或者iterator迭代!
      Map map = new HashMap();
      map.put("a" , "A");
      map.put("b" , "B");
      map.Each{k,v->//k,v->可不写
        //k表示map中的每一个key;v表示map中这个key对应的value
        System.out.print(k+"-"+v+";");//结果是:a-A;b-B;
      }
    

    相关文章

      网友评论

          本文标题:Groovy开发

          本文链接:https://www.haomeiwen.com/subject/syfeuttx.html