pre { background: #f8f8f8; overflow:auto;width:auto; border:solid gray; border-width:.1em .1em .1em .8em; padding:.2em .6em; }
Transformando lista de inteiros em lista de String
List listaInteiros = ImmutableList.of(1, 2, 3, 4, 5);
List listaString =
FluentIterable
.from(listaInteiros)
.transform(Functions.toStringFunction())
.toList();
Resultado : A lista de inteiros foi transformada em uma lista de strings.
- from : A lista a ser percorrida;
- transform : A método de transformação;
- Functions.toStringFunction(): No Caso de transformação para string o guava já oferece uma transformação pronta.
- toList: Retorna o resultado em formato de lista
Transformando lista de string em lista de Valor(objeto)
List listString = ImmutableList.of("joao", "maria", "jose", "luiz");
List listValor =
FluentIterable
.from(listString)
.transform(new Function() {
int posicao = 0;
@Override
public Valor apply(String valorLista) {
Valor valor = new Valor(posicao, valorLista);
posicao++;
return valor;
}
}).toList();
- No caso de transformação para objeto é necessário criar uma função(new Function()) ;
- Function: String é o valor que vem da lista iterada e Valor é no que vai ser transformado;
- new Fuction: É obrigatório implementar o método apply, o retorno é o valor transformado e o parametro é o valor vindo da lista
Valor.java
public class Valor {
private final int posicao;
private final String valor;
public Valor(int posicao, String valor) {
this.posicao = posicao;
this.valor = valor;
}
public int getPosicao() {
return posicao;
}
public String getValor() {
return valor;
}