/ / Jak mogę przyciąć wszystkie elementy na liście używając Groovy? - grails, groovy

Jak mogę przyciąć wszystkie elementy na liście używając Groovy? - grails, groovy

Potrzebuję przyciąć wszystkie elementy na liście w groovy lub grails? jakie jest najlepsze rozwiązanie

Odpowiedzi:

13 dla odpowiedzi nr 1

Zakładając, że jest to lista ciągów znaków i chcesz przyciąć każdy ciąg znaków, możesz to zrobić za pomocą operator rozprzestrzeniania (*.)

list = [" abc ", " xyz "]
list*.trim()

13 dla odpowiedzi nr 2

Możesz użyć metody collect lub operatora spreadu, aby utworzyć nową listę z przyciętymi elementami:

def strs = ["a", " b", " "]
assert strs.collect { it.trim() } == ["a", "b", ""]
assert strs*.trim() == ["a", "b", ""]

W takich przypadkach oryginalna lista nie jest modyfikowana.Jeśli chcesz przyciąć łańcuchy w miejscu, będziesz musiał iterować listę za pomocą indeksu:

for (i in 0..<strs.size()) {
strs[i] = strs[i].trim()
}