Transformando coleções com Guava

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;
}

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 )

w

Conectando a %s