BT

Início Notícias Lambdaj manipule collections de maneira fácil

Lambdaj manipule collections de maneira fácil

Favoritos

Quantas vezes você teve que procurar itens dentro de uma coleção e adicionar em uma lista temporário e gastou pelo menos umas 5 ou 6 linhas de código Java para isto? Código difíceis de ler e manter.

List<Contato> contatosQueMoramEmSaoPaulo = new ArrayList<Contato>();

for(Contato contato : todosContatos) {

    if(contato.getEndereco().getCidade().equals("São Paulo")) {

        contatosQueMoramEmSaoPaulo.add(contato);

    }

}

Lambdaj é uma biblioteca que tornar fácil a resolução deste tipo de manipulação de collections através de código pseudo-funcional e estaticamente tipado. O propósito da biblioteca é resolver estes problemas aplicando algumas características de linguagens funcionais sem perder o tipagem estática do Java. Baseado em um Domain Specific Language(DSL) que facilita muito a criação de código legível.

O código anterior poderia ser resolvido com lambdaj da seguinte maneira:

List<Contato> contatosQueMoramEmSaoPaulo = select(todosContatos, having(on(Contato.class).getEndereco().getCidade(), equalTo("São Paulo"));

LambdaJ permite iteração em collections com o propósito de:

  • filtrar os itens de uma coleção
  • converter cada item de acordo com uma regra específica
  • extrair uma propriedade específica de cada item
  • classificar os items de acordo com o valor de uma dada propriedade
  • agrupar ou indexar os itens de acordo com o valor de uma ou mais propriedades
  • invocar um método de cada item
  • somar os itens ou valores de uma dada propriedade
  • concatenar strings dos itens ou dos valores de uma das propriedades

Você pode obter mais informações sobre o lambdaj no site: http://code.google.com/p/lambdaj. E conferir também análises de sua performance aqui.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

  • Lambdaj usando com Java ?

    by marcio duran /

    Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    Você esta sugerindo usar as duas linguagens como proposta de desenvolvimento functional programming ?

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.