加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Groovy Tip 6 集合类的简化操作

发布时间:2020-12-14 17:00:24 所属栏目:大数据 来源:网络整理
导读:????????????????????? Groovy Tip 6 集合类的简化操作 ? Groovy语言对Java语言的简化在集合类上是表现最为突出的,那个著名的each方法就不需要我多说了,因为“地球人都知道”。 一. 赋初值的简化 对于List对象,在Java语言中是这样赋初值的: ?????? List
????????????????????? 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' , 'c' ]
???
println list[ 0 ]
?
Java 语言中,对 Map 对象的取值如下:
?????? Map map = new HashMap();
?????? map.put( "name" , "4" );
?????? map.put( "addr" , "shenzhen" );
??????
??? System. out .println(map.get( "name" ));
?
Groovy 语言中, Map 对象可以这样取值:
??? Map map = [ 'name' : 'tom' , 'addr' : 'shenzhen' ]
???
println map[ 'name' ]
?
还可以这样取值:
??? Map map = [ 'name' : 'tom' , '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' , 'c' ]
???
??? list<< 'd'
???
println list
?
是的,我们使用“ << ”符号给 List 对象增加元素。
?
Java 语言中,给 Map 对象增加一个元素如下:
?????? Map map = new HashMap();
?????? map.put( "name" , "shenzhen" );
??????
?????? System. out .println(map.get( "name" ));
??????
??? map.put( "abc" , "abc" );
?
不错,还是使用 put 方法。
而在 Groovy 语言中,我们只需这样做:
??? Map map = [ 'name' : 'tom' , 'addr' : 'shenzhen' ]
???
??? map[ 'abc' ] = 'abc'
println map

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读