2016-01-22 1 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 Que() функции могут быть полезны, но не знаю, как это сделать ..

+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]