显示3个列表(java.util.List)

时间:2014-02-06 07:51:21

标签: groovy

我请求帮助显示3个带有groovy的列表。实际上我有3个列表(java.util.list):第一个是4个复选框,第二个和第三个是可编辑的网格,有1列和4个字段。所有都保存在3个不同的变量java.util.list。

我尝试使用此循环在文本字段区域中显示这3个列表:

def out = []
for (i=0; i<grids1.size();i++) {
    out.add([grids1.getAt(i),checkboxes.getAt(i),grids2.getAt(i)])
}
out

但结果非常糟糕。

    [[[], checkboxes, []], [[2], checkboxes, [grids2]], [[], null, []],
 [[3], null, [grids2]], [[], null, []]]

有人能帮助我吗?

以下答案的更多信息:

感谢。我们不是在黑暗中,因为它几乎就是这样! 我在每个数据之间有差距。一个例子:

3个列表,每个包含4个字段。

def a = [ [], [2], [], [4] ]
def b = [ '', 'two', '', 'four' ]
def c = [ [], [6], [], [8] ]

它显示为滞后(可能是因为列表 a c 保持索引计数器 b 列表。< / p>

[[], two, []]
[[2], four, [6]]
[[], , [], []]
[[4], , [], [8]]

列表a和b保持其“位置”而不是列表b。

1 个答案:

答案 0 :(得分:0)

不知道你的输入数据是什么,或者你想要什么输出(可能在你的问题中添加一些示例输入和所需的输出?),这是一个完整的镜头......

你可以这样做:

def a = [ [ 1, 2 ], [], [ 3, 4 ] ]
def b = [ 'one', 'two', 'three' ]
def c = [ [], [ 5, 6 ], [ 7, 8 ] ]

String s = [a,b,c].transpose()              // Join the lists
                  .collect { it.findAll() } // Remove empty entries
                  .join( '\n' )             // Join into a string with newlines
println s

打印哪些:

[[1, 2], one]
[two, [5, 6]]
[[3, 4], three, [7, 8]]

但正如我所说,很难真正知道这是否正朝着正确的方向发展......

更新后编辑:

此:

def a = [ [], [2], [], [4] ]
def b = [ '', 'two', '', 'four' ]
def c = [ [], [6], [], [8] ]

String s = [ a, b, c ].transpose().join( '\n' )

println s

打印:

[[], , []]
[[2], two, [6]]
[[], , []]
[[4], four, [8]]

那更接近吗?