Groovy Tip 6 集合类的简化操作

                      Groovy Tip 6 集合类的简化操作
 
Groovy语言对Java语言的简化在集合类上是表现最为突出的,那个著名的each方法就不需要我多说了,因为“地球人都知道”。
一.赋初值的简化
对于List对象,在Java语言中是这样赋初值的:
       List list = new ArrayList();
      
       list.add( "a" );
       list.add( "b" );
    list.add( "c" );
 
十分的繁琐,在Groovy语言里只需要这样赋初值:
List list = [ 'a' , 'b' , 'c' ]
 
这简直是太简单了。
 
同样,对于Map对象,在Java语言中是这样赋初值的:
       Map map = new HashMap();
       map.put( "name" , "tom" );
       map.put( "age" , "4" );
    map.put( "addr" , "shenzhen" );
 
同样是相当的繁琐,但是在 Groovy 语言里:
Map map = [ 'name' : 'tom' , 'age' : '4' , 'addr' : 'shenzhen' ]
 
同样是很简单的。
 
二.取值的简化
在Java语言中,对List对象取值如下:
list.get(0)
 
但是在 Groovy 语言中, List 对象可以像数组一样取值:
    List list = [ 'a' , 'b' , 'c' ]
   
println list[ 0 ]
 
Java 语言中,对 Map 对象的取值如下:
       Map map = new HashMap();
       map.put( "name" , "tom" );
       map.put( "age" , "4" );
       map.put( "addr" , "shenzhen" );
      
    System. out .println(map.get( "name" ));
 
Groovy 语言中, Map 对象可以这样取值:
    Map map = [ 'name' : 'tom' , 'age' : '4' , 'addr' : 'shenzhen' ]
   
println map[ 'name' ]
 
还可以这样取值:
    Map map = [ 'name' : 'tom' , 'age' : '4' , 'addr' : 'shenzhen' ]
   
println map.name
 
 
三.给集合类增加元素
在Java语言中,给List对象增加一个元素如下:
       List list = new ArrayList();
       list.add( "1" );
       String[] strs = (String[])list.toArray( new String[0]);
      
    list.add( "a" );
 
是的,使用 add 方法。
而在 Groovy 语言中,你只需使用如下方法:
    List list = [ 'a' , 'b' , 'c' ]
   
    list<< 'd'
   
println list
 
是的,我们使用“ << ”符号给 List 对象增加元素。
 
Java 语言中,给 Map 对象增加一个元素如下:
       Map map = new HashMap();
       map.put( "name" , "tom" );
       map.put( "age" , "4" );
       map.put( "addr" , "shenzhen" );
      
       System. out .println(map.get( "name" ));
      
    map.put( "abc" , "abc" );
 
不错,还是使用 put 方法。
而在 Groovy 语言中,我们只需这样做:
    Map map = [ 'name' : 'tom' , 'age' : '4' , 'addr' : 'shenzhen' ]
   
    map[ 'abc' ] = 'abc'
println map
 
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值