Suporte nativo a Listas e Mapas em Groovy
Em Groovy, para declarar uma lista é simples assim:
def lista = ["thania", "clair"]
println lista.get(0)
println lista.get(1)
Para definir um intervalo:
def intervalo=0..10
println intervalo.size()
println intervalo.get(5)
Para criar um mapa:
def mapa = ["chave":"valor", "chave2":"valor2"]
mapa["nova"]="novo valor"
println mapa["chave"]
println mapa["nova"]
lista e intervalo são instâncias de java.util.List. Definir o objeto como intervalo preenche a lista criada com os valores desejados (podem ser utilizados caracteres). A definição de um mapa parece com a de uma lista, exceto pelo fato de serem passados dados no formato [ <chave> : <valor> ].
As coleções em Groovy possuem métodos bastante úteis para closures:
def lista = ["a", "b", "c"]
lista.each
{
elemento -> println elemento;
}
lista.eachWithIndex
{
elemento, indice ->
println indice + "O elemento é = " + elemento;
}
O método each retorna como parâmetro para a closure todos os membros da coleção, na ordem.
Tudo isso me lembra muito Ruby, por isto é legal. Preciso descobrir ainda como anda a produtividade ao utilizar esta linguagem. Não sei ao certo se muitas aplicações vêm sendo desenvolvidas em Groovy e porque utilizá-la ao invés de Java ou Ruby. A verdade é que já li algo respeito, mas ainda não me convenceu. Espero que não seja apenas uma outra linguagem.
Oi Thânia. Não conhecia o Groovy e me interessei muito. Sou programador também e me interesso muito por novas linguagens. Já mexi com Ruby e com Lua (essa sim é muito interessante). Gosto da forma como essas novas linguagens quebram paradigmas para quem estava acostumado com com a orientação a objetos e achava que isso era tudo. Abraço,