Collections Groovy集合-查找与条件匹配的元素
我有一个groovy集合,它是一个数组,包含从0到“n”的值。当发生一系列情况时,我需要找到一个特定的数组索引。而且,我不需要扫描数组的每个值,但可以跳过预定义的间隔。例如,查找数组中每10个值的条件。有人能告诉我怎么做吗? 例如,我想做下面这样的事情Collections Groovy集合-查找与条件匹配的元素,collections,groovy,Collections,Groovy,我有一个groovy集合,它是一个数组,包含从0到“n”的值。当发生一系列情况时,我需要找到一个特定的数组索引。而且,我不需要扫描数组的每个值,但可以跳过预定义的间隔。例如,查找数组中每10个值的条件。有人能告诉我怎么做吗? 例如,我想做下面这样的事情 def alltimes = [0 . . . . . 10000] def end_time = 10000 def time = 0 while(time <= end_time) { // check the conditio
def alltimes = [0 . . . . . 10000]
def end_time = 10000
def time = 0
while(time <= end_time)
{
// check the condition for alltimes[time]
if(condition_satisfied){
println "condition satisfied at time ${time}"
break
}
time = time + 50
}
def始终=[0..10000]
def end_时间=10000
def时间=0
而(时间您可以使用find
进行此操作:
def allTimes = 0..10000
Closure<Boolean> checkCondition = { all, single ->
single > 300
}
(0..10000).step( 50 ).find { time -> checkCondition( allTimes, time ) }
def始终=0..10000
闭包检查条件={all,single->
单个>300
}
(0..10000)。步骤(50).查找{time->检查条件(所有时间,时间)}
咖喱成熟了:
def allTimes = 0..10000
Closure<Boolean> checkCondition = { all, single ->
single > 300
}
(0..10000).step( 50 ).find checkCondition.curry( allTimes )
def始终=0..10000
闭包检查条件={all,single->
单个>300
}
(0..10000)。步骤(50).查找checkCondition.curry(所有时间)
你能举出一个例子吗?这可能有助于更好地解释你需要什么…仍然不明白…你的例子中的收藏在哪里?对不起,我现在编辑了我的文章。非常感谢..它完成了工作:-)