Uma maneira bem ‘a-lá groovy’ de se acessar o último elemento de uma lista!
Oi,
Brincando com groovy e lendo alguns artigos durante o fim de semana na internet, vi umas coisas bacanas que facilitam o uso desta linguagem!
Uma coisa que achei bem legal foi uma dica de como acessar uma lista “de trás pra frente”. Isso mesmo, as vezes a gente precisa acessar o último elemento de uma lista certo? Como farÃamos?
Vamos imaginar a lista abaixo:
def lista = []
lista << “first itemâ€
lista << “second itemâ€
lista << “third itemâ€
Se eu quisesse imprimir seu conteudo para verificar, teria:
println lista[0] // “first itemâ€
println lista[1] // “second itemâ€
println lista[2] // “third itemâ€
Para acessar o último termo, sem delongas irÃamos ter que chamar posicionalmente o último elemento da lista, e para isso terÃamos que conhecer seu tamanho. TerÃamos:
lista.get(lista.size()-1); //Java
lista[lista.size -1] //groovy
Certo? A coisa bacana é que groovy tem todos os Ãndices de um array/lista espelhados para a sua forma negativa. Ou seja. Se você acessar a segunda posição (lista[1]), irá ir para frente com o número inteiro. Se acessar a segunda posição negativa (lista[-2]), irá percorrer o segundo elemento de trás para frente!
Ou seja, para acessar o último elemento da lista, a forma mais rápida, fácil e com cheiro de groovy é fazer:
println lista[-1] //”third item”
Bacana hein! Valeu!
[]s,
Comments(3)
Que coisa linda esse groovy…
Só pra agente fazer a velha brincadeira:

Em Scala, tomando como base a mesma lista, podemos fazer:
lista last
O primeiro seria: lista head
E todos os elementos com a exceção do primeiro seria: lista tail.
Simples não?
Abraços.
[...] I’ve posted this post: Uma maneira bem ‘a-lá groovy’ de se acessar o último elemento de uma lista! (English version here) that explains how we can use negative indexes to access the elements on one [...]