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