2016-01-22 42 views
0

例如:如何从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(),最后()或也许toUni阙()函数可能是有用的,但不知道怎么做..

+0

只有在最后一个元素重复?或删除后面的重复元素?即'[1,2,3,4,4,8,4,5]'应该是什么样子? –

+0

输入元素的最后重复,如果输入4:[1,2,3,4,4,8,5] – chocochocolate

回答

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] 
相关问题