我有一个数组数组。
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
的索引?
答案 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上。换句话说,您的代码应该可以工作。
作为旁注,您是否真的需要一个列表列表?由于所有列表的长度都是一个,因此您可能还直接拥有一个元素列表。