Filtrando em coleções com Guava

List<Integer> lista = ImmutableList.of(1, 2, 3, 4, 5, 6, 7 ,8 , 9, 10);

List<Integer> listaFiltrada = FluentIterable.from(lista)
    .filter(new Predicate<Integer>() {
        @Override
        public boolean apply(Integer input) {
            return (input >= 3) && (input <= 8);
        }
    }).toList());  

Resultado : 3, 4, 5, 6, 7, 8

  • from : A lista a ser percorrida;
  • filter : Método de filtro que espera um predicado;
  • new Predicate: Criar um predito, que é uma condição, do tipo vindo da lista.
  • @Override apply: É obrigatório sobrescrever apply que é o método que implementa a condição de filtro, o retorno é do tipo boolean que diz se o objeto iterado é adicionado ou não na nova lista.
  • toList: Retorna o resultado em formato de lista
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.