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