如何从Groovy中的列表中弹出最后一个重复项?

时间:2016-01-22 19:59:50

标签: list groovy

例如:

鉴于列表:[1,2,3,4,4,8,4]

选择元素,删除最后一个副本:4

输出清单:[1,2,3,4,4,8]

我试过这种方式,但它只是从列表中删除了第一个所需的元素:

def list = [1, 2, 3, 4, 4, 8, 4]
def fruit = list.find { item -> item.equals(4)}
list.remove(fruit) //removes first matching item (one)
println list

我猜init(),last()或者也许是unique()函数可能有用,但不知道,该怎么做..

1 个答案:

答案 0 :(得分:2)

不确定这是不是你的意思,但是:

def list = [1, 2, 3, 4, 4, 8, 4]

def toremove = 4

list.remove(list.lastIndexOf(toremove))

assert list == [1, 2, 3, 4, 4, 8]