prezados,
tenho 2 streams e preciso realizar operações com todas as combinações possíveis dos 2 streams. Eu pensei, pensei, mas não consegui achar como. Eu criei uma BiFunction para realizar as operaçoes.
private final BiFunction<Tipo1, Tipo2, Retorno> minhasoperacoes = new BiFunction<Tipo1, Tipo2, Retorno>(){
@Override
public Retorno apply(Tipo1 t1, Tipo2 t2) {
// operacoes e criacao do tipo de retorno...
Retorno r = new Retorno(t1, t2);
return r;
}
mas acabei ficando com os 2 fors, pq eu nao soube como fazer todas as combinacoes entre os 2 streams:
for (Tipo1 t1 : listaDeT1) {
for (Tipo2 t2 : listaDeT2) {
Retorno r = minhasoperacoes.apply(t1, t2);
//mais operacoes sobre r
}
}
a solucao pode usar lambda no lugar da bifunction, eu so tentei ver de todos os angulos.
abraços e muito obrigado! Lucas