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