检索Groovy中的数组数组中的元素的索引

时间:2019-05-24 00:53:54

标签: arrays jenkins groovy

我有一个数组数组。

def my_array = [[null], [10382], [11901], [null], [10386], [10385], [11901], [10386], [11901], [10386], [3], [null], [10504], [3]]

我想找到一个元素首次出现的索引,例如[3]

我正在使用findIndexOf

 def index = my_array.findIndexOf { it == [3] }

但是,这将返回-1。我认为这是数组[3]中元素的索引,而不是数组my_array中元素的索引。如何获得[3]中元素my_array的索引?

1 个答案:

答案 0 :(得分:1)

运行此代码:

def my_array = [[null],  // index  0
                [10382], // index  1
                [11901], // index  2
                [null],  // index  3
                [10386], // index  4
                [10385], // index  5
                [11901], // index  6
                [10386], // index  7
                [11901], // index  8
                [10386], // index  9
                [3],     // index 10
                [null],  // index 11
                [10504], // index 12
                [3]]     // index 13

def index = my_array.findIndexOf { it == [3] }
println "index: $index"

与您的代码相同的结果是:

~> groovy solution.groovy 
index: 10

~>

在Java 8和groovy 2.1.16上。换句话说,您的代码应该可以工作。

作为旁注,您是否真的需要一个列表列表?由于所有列表的长度都是一个,因此您可能还直接拥有一个元素列表。