Groovy 字符串[][]-groupBy()是否可能?
是否可以对多维字符串数组中的第一个元素执行groupBy()Groovy 字符串[][]-groupBy()是否可能?,groovy,multidimensional-array,Groovy,Multidimensional Array,是否可以对多维字符串数组中的第一个元素执行groupBy() String[][] serversAndQueues = [["server1","queue"],["server1","queue1"],["server2","queue2"]] 每种方法都有效。 serversAndQueues.each{r-> println r[0] } 输出 server1 server1 server2 groovy.lang.MissingMethodException: No
String[][] serversAndQueues = [["server1","queue"],["server1","queue1"],["server2","queue2"]]
每种方法都有效。
serversAndQueues.each{r->
println r[0]
}
输出
server1
server1
server2
groovy.lang.MissingMethodException: No signature of method: [[Ljava.lang.String;.groupBy() is applicable for argument types: (ConsoleScript12$_run_closure2) values: [ConsoleScript12$_run_closure2@1e5182f]
Possible solutions: grep(), grep(), drop(int), countBy(groovy.lang.Closure), grep(java.lang.Object), grep(java.lang.Object)...
groupBy()呢?
serversAndQueues.groupBy( { it[0]}).each{r->
println r[0]
}
。。它抛出一个exection
输出
server1
server1
server2
groovy.lang.MissingMethodException: No signature of method: [[Ljava.lang.String;.groupBy() is applicable for argument types: (ConsoleScript12$_run_closure2) values: [ConsoleScript12$_run_closure2@1e5182f]
Possible solutions: grep(), grep(), drop(int), countBy(groovy.lang.Closure), grep(java.lang.Object), grep(java.lang.Object)...
是的,至少Groovy 2.2.X是这样的:
String[][] serversAndQueues = [["server1","queue"],["server1","queue1"],["server2","queue2"]]
serversAndQueues.groupBy { it[ 0 ] }.each { key, value ->
println "$key => $value"
}
印刷品:
server1 => [[server1, queue], [server1, queue1]]
server2 => [[server2, queue2]]